需求
批量發送請求,自定義請求的並發度,當執行完全部請求后,給予提示。
解決方案
npm中有很多實現這個功能的第三方包,比如async-pool、es6-promise-pool、p-limit,這里我直接用 p-limit
參考https://www.npmjs.com/package/p-limit
使用
const pLimit = require('p-limit');
// 或者 import pLimit from "p-limit";
const limit = pLimit(5); // 5 表示每次發送5個請求
const input = [
limit(() => fetchSomething('foo')),
limit(() => fetchSomething('bar')),
limit(() => doSomething())
];
(async () => {
const result = await Promise.all(input);
console.log(result);
})();