我的 api 每秒最多只允许 10 个请求。我试图通过异步库保持在这个速率限制之下。我已经尝试了多种功能,但它们都不起作用。
Pauseconnect 和 connectStream 为每个项目打开一个事件流。如果您需要查看他们的代码,请告诉我。
async.queue -- 不等待。
var cargo = async.queue(function (task, callback) {
setTimeout(
connectStream(task)
, 50000);
callback();
}, 1);
for(var j = 0; j < TeamList.length; j++) {
cargo.push(TeamList[j], function (err) {
});
async.eachLimit --在 5 处停止并且没有进展
async.eachLimit(TeamList, 5, pauseConnect, function(err){
if(err) {console.log(err);}
});
rate-limiter -- 运行所有这些,无需等待
limiter.removeTokens(1, function() {
for(var i=0; i< TeamList.length; i++){
connectStream(TeamList[i]);
}
});
async.each-- 不等待只是遍历所有这些
async.each(TeamList pauseConnect, function(err){
if(err) {console.log(err);}
});