async.mapLimit控制并发数量

  |  

async无论我们在哪里接受Node样式的回调函数,异步都接受函数。但是,我们不向它们传递回调,而是使用返回值并处理所有的Promise拒绝或引发的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const async = require('async');
(async () => {
// 支持数组格式
let list = [{
'url': '1',
}, {
'url': '2',
}];

//数字10是并发数量
async.mapLimit(list, 10, async item => { // <- no callback!
let data = await toUrl(item);
return data; // <- return a value!
}, (err, contents) => {
if (err) throw err;
console.log(contents);
});
})();

async function toUrl(item) {

// 。。。 写处理逻辑
console.log(item);
return '处理完成';
}

文档来源:https://caolan.github.io/async/v3/

文章目录