大量异步通信按次执行

//执行大量异步,机制限制,只能同时运行三个。执行20次 let heavyWorker = (data) => { return new Promise(resolve => { setTimeout(() => { console.log(data); resolve(data) }, 100 * Math.random()); }) } //测 async function bingxing() { let kaiguan = false; for (let i = 0; i < 20; i++) { if (i==0 || (i%3 == 0) && !kaiguan) { kaiguan = true; await Promise.all([heavWorker(i),heavWorker(i+1),heavWorker(i+2)]).then(res=>{ kaiguan = false; }) } } } bingxing();

浙公网安备 33010602011771号