相关疑难解决方法(0)

ES6承诺替换async.eachLimit/async.mapLimit

异步中,如果我需要对1000个项目应用异步函数,我可以这样做:

async.mapLimit(items, 10, (item, callback) => {
    foo(item, callback);
});
Run Code Online (Sandbox Code Playgroud)

这样只能同时处理10个项目,从而限制了开销并允许控制.

有了ES6的承诺,我可以很轻松地做到:

Promise.all(items.map((item) => {
    return bar(item);
}));
Run Code Online (Sandbox Code Playgroud)

这将同时处理所有1000个项目,这可能会导致很多问题.

我知道Bluebird有办法解决这个问题,但我正在寻找ES6解决方案.

javascript promise ecmascript-6 es6-promise

6
推荐指数
2
解决办法
1532
查看次数

标签 统计

ecmascript-6 ×1

es6-promise ×1

javascript ×1

promise ×1