【发布时间】:2017-10-09 02:11:57
【问题描述】:
在async 中,如果我需要对 1000 个项目应用异步函数,我可以这样做:
async.mapLimit(items, 10, (item, callback) => {
foo(item, callback);
});
这样只能同时处理 10 个项目,从而限制开销并允许控制。
有了 ES6 承诺,虽然我可以轻松做到:
Promise.all(items.map((item) => {
return bar(item);
}));
这将同时处理所有 1000 个项目,这可能会导致很多问题。
我知道Bluebird have ways to handle that,但我正在寻找 ES6 解决方案。
【问题讨论】:
标签: javascript ecmascript-6 promise es6-promise