Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在特定的时间跨度内进行具有速率限制的异步API调用?_Javascript_Node.js_Api_Server_Hapijs - Fatal编程技术网

Javascript 如何在特定的时间跨度内进行具有速率限制的异步API调用?

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

我正在进行一个项目,在这个项目中,我必须从我的NodeJS服务器到第三方服务器一次性调用将近500多个。问题是,第三方服务器每秒最多只能调用50次。你能帮我实现在一秒钟内只拨打指定次数电话的逻辑吗。我的项目中使用的技术/语言是NodeJS和HapiJS框架

提前感谢您。

您可以使用async.js,并提供所需的延迟和同步连接。就像:

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秒钟也会发生同样的情况。我的意思是应该是批量呼叫。非常感谢您提供了这个伟大的解决方案。我也在寻找同样的解决方案。