我的api每秒最多只允许10个请求。我试图使用异步库保持在此速率限制之下。我尝试了多种功能,但没有一种功能正常。
Pauseconnect和connectStream为每个项目打开一个事件流。如果您需要查看他们的代码,请告诉我。
async.queue - 不要等待。
async.eachLimit(TeamList, 5, pauseConnect, function(err){
if(err) {console.log(err);}
});
async.eachLimit - 停在5并且没有进展
limiter.removeTokens(1, function() {
for(var i=0; i< TeamList.length; i++){
connectStream(TeamList[i]);
}
});
速率限制器 - 无需等待即可遍历所有这些
async.each(TeamList pauseConnect, function(err){
if(err) {console.log(err);}
});
async.each--不等待只运行所有这些
.left_service_wrap {
float:left;
width:50%;
}
.right_service_wrap {
float: left;
width:50%;
}
答案 0 :(得分:0)
你错过了async.each中的回调,它应该是(例如)......
async.each(TeamList pauseConnect, function(err, callback) {
if(err) {
console.log(err);
}
return callback();
});
答案 1 :(得分:0)
如果有人好奇这对我有用
async.eachLimit(TeamList, 5, function(team, callback){
setTimeout(function(){
connectStream(team);
callback();
}, (5000));
}, function(err){
if(err) {console.log(err);}
});