Javascript 如何在特定的时间跨度内进行具有速率限制的异步API调用?
我正在进行一个项目,在这个项目中,我必须从我的NodeJS服务器到第三方服务器一次性调用将近500多个。问题是,第三方服务器每秒最多只能调用50次。你能帮我实现在一秒钟内只拨打指定次数电话的逻辑吗。我的项目中使用的技术/语言是NodeJS和HapiJS框架 提前感谢您。您可以使用async.js,并提供所需的延迟和同步连接。就像:Javascript 如何在特定的时间跨度内进行具有速率限制的异步API调用?,javascript,node.js,api,server,hapijs,Javascript,Node.js,Api,Server,Hapijs,我正在进行一个项目,在这个项目中,我必须从我的NodeJS服务器到第三方服务器一次性调用将近500多个。问题是,第三方服务器每秒最多只能调用50次。你能帮我实现在一秒钟内只拨打指定次数电话的逻辑吗。我的项目中使用的技术/语言是NodeJS和HapiJS框架 提前感谢您。您可以使用async.js,并提供所需的延迟和同步连接。就像: async.eachLimit(['ur11','ur12','ur13' /*and so on*/], 50/* how many simultaneous re
async.eachLimit(['ur11','ur12','ur13' /*and so on*/], 50/* how many simultaneous requests*/, function (url, callback) {
request(url, /*params*/ function(err, result){
//handle err and result
setTimeout(callback, 100 /*you desired delay*/)
})
}, function (err) {
// all requests done
});
那么500个电话,但50个应该通过,剩下的450个怎么办?如果有500个电话,那么它应该在一秒钟内发送50个。接下来的9秒钟也会发生同样的情况。我的意思是应该是批量呼叫。非常感谢您提供了这个伟大的解决方案。我也在寻找同样的解决方案。