遇到的问题如下,需要构建一个 SuperTask
这么一个类,来实现并发任务控制。
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 26
| class SuperTask { }
function sleep(time) { return new Promise((resolve) => { setTimeout(() => { resolve() }, time) }) }
const superTask = new SuperTask() function addTask(time, name) { superTask .add(() => sleep(time)) .then(() => { console.log(`任务${name}完成`) }) }
addTask(10000, 1) addTask(5000, 2) addTask(3000, 3) addTask(4000, 4) addTask(5000, 5)
|