gpt4 book ai didi

node.js - async.eachLimit 仅针对指定的限制执行,而不是整个数组

转载 作者:太空宇宙 更新时间:2023-11-03 21:48:52 29 4
gpt4 key购买 nike

我正在使用 npm 异步库 ( https://caolan.github.io/async/docs.html ) 来限制并行请求的数量。下面是我的代码:

    async.eachLimit(listOfItemIds, 10, function(itemId)
{
console.log("in with item Id: ",itemId);
}, function(err) {
if(err)
{
console.log("err : ",err);
throw err;
}
});

但它不会对所有 listOfItemIds 执行,它只对前 10 个执行并退出。

下面是输出:

in with item id:  252511893899
in with item id: 142558907839
in with item id: 273235013353
in with item id: 112966379563
in with item id: 192525382704
in with item id: 253336093614
in with item id: 112313616389
in with item id: 162256230991
in with item id: 282981461384
in with item id: 263607905569

最佳答案

您还需要传递一个callback()方法。

看看下面的代码,这会起作用。

async.eachLimit(listOfItemIds, 2, function(itemId, callback)
{
console.log("in with item Id: ",itemId);
callback();
}, function(err) {
if(err)
{
console.log("err : ",err);
throw err;
}
});

这将打印数组中的所有元素,在上述情况下,我将并行执行的数量限制为 2

希望这有帮助!

关于node.js - async.eachLimit 仅针对指定的限制执行,而不是整个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50807394/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com