promise并发控制

class Scheduler { list = [] maxNum = 2 workingNum= 0 add(promiseCreator){ this.list.push(promiseCreator) } start(){ for(let i in maxNum ){ this.handle() } } handle(){ if(this.list.length &&this.workingNum< this.maxNum ){ this.workingNum++ this.list.shift()().then(res=>{ this.workingNum-- this.handle() }) } } }

    推荐阅读