如何限制API请求的堆栈?

比利·月亮

我有一个ID数组,我想为每个ID提出一个api请求,但是我想控制每秒发出多少个请求,或者更好的是,在任何时候以及当一个连接是完成后,获取下一个。

目前,我有这个功能,它可以同时触发所有请求:

_.each([1,2,3,4,5,6,7,8,9,10], function(issueId) {
    github.fetchIssue(repo.namespace, repo.id, issueId, filters)
        .then(function(response) {
            console.log('Writing: ' + issueId);
            writeIssueToDisk(fetchIssueCallback(response));
        });
});
jfriend00

就我个人而言,我会.map()concurrency选择中使用Bluebird 因为我已经在所有异步操作中使用了promise和Bluebird。但是,如果您想看看限制一次可同时运行多个并发请求的手动编码计数器方案是什么样子,请执行以下操作:

function limitEach(collection, max, fn, done) {
    var cntr = 0, index = 0, errFlag = false;

    function runMore() {
        while (!errFlag && cntr < max && index < collection.length) {
            ++cntr;
            fn(collection[index++], function(err, data) {
                --cntr;
                if (errFlag) return;
                if (err) {
                    errFlag = true;
                    done(err);
                } else {
                   runMore();
                }
            });
        }
        if (!errFlag && cntr === 0 && index === collection.length) {
            done();
        }
    }
    runMore();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何限制API请求的堆栈?

来自分类Dev

如何在Web Api中限制请求?

来自分类Dev

如何在Web Api中限制请求?

来自分类Dev

如何使用Win32 API获取任何线程的堆栈大小和堆栈限制

来自分类Dev

如何使用Win32 API获取任何线程的堆栈大小和堆栈限制

来自分类Dev

API请求限制

来自分类Dev

API调用请求限制

来自分类Dev

如何增强Box.com API请求限制

来自分类Dev

如何使用RxJ限制Angular中的并发API请求

来自分类Dev

如何增强Box.com API请求限制

来自分类Dev

Symfony 上的 API 请求限制,如何最好地实现?

来自分类Dev

Linux内核如何执行堆栈大小限制?

来自分类Dev

如何知道.exe程序的堆栈大小限制?

来自分类Dev

如何限制scrapy请求对象?

来自分类Dev

Heroku如何限制请求大小?

来自分类Dev

如何限制草率的请求对象?

来自分类Dev

将请求限制为Xing API

来自分类Dev

Google Analytics API是否限制请求?

来自分类Dev

API请求限制的解决方法

来自分类Dev

玩WS API:限制请求率

来自分类Dev

如何在我的应用程序Angular 9中限制API请求

来自分类Dev

Django Rest Framework-如何将请求限制到API端点?

来自分类Dev

AWS Lambda并发请求限制以及如何增加限制?

来自分类Dev

如何在angularjs中限制$ http请求?

来自分类Dev

如何限制计时器挂起的请求

来自分类Dev

如何更改请求标头限制

来自分类Dev

kubernetes如何请求和限制压力?

来自分类Dev

如何限制对上游冷流动的请求

来自分类Dev

如何超过IIS的最大请求数限制?