【发布时间】:2018-11-21 06:35:17
【问题描述】:
我正在使用 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
【问题讨论】:
-
对不起 console.log 语句:它应该是 console.log("in with item id: ",itemId)
-
@Rashika 你能把 npm 库包的链接贴在这里吗?
-
第二个参数有限制,把它增加到你认为包含所有的。这里
async.eachLimit(listOfItemIds,10, function(itemId). -
或者,如果您想达到某种限制,您可以对列表项的长度进行数学计算。如
listOfItemIds.length - 10或得到大约一半的Math.floor(listOfItemIds.length / 2)。然后将其用作第二个参数。