<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 { let recursion = (arr) => { return asyncHandle(arr.shift()) .then(()=>{ if (arr.length!==0) return recursion(arr) // 数组还未迭代完,递归继续进行迭代 else return 'finish'; }) }; let listCopy = [].concat(list); let asyncList = []; // 正在进行的所有并发异步操作 while(limit--) { asyncList.push( recursion(listCopy) ); } return Promise.all(asyncList); // 所有并发异步操作都完成后,本次并发控制迭代完成 }