class Scheduler {     constructor() {         this.queue = [];         this.curQue = 0;     }     add(promiseCreator) {         let resolve;         const promise = new Promise(res => {             resolve = res;         });         promise.resolve = resolve;         this.queue.push({ promiseCreator, promise });         this.doTask();         return promise;     }     doTask() {         if (this.queue.length == 0) return;         if (this.curQue < 2) {             this.curQue++;             const obj = this.queue.shift();             const { promiseCreator, promise } = obj;             promiseCreator().then(() => {                 promise.resolve();                 this.curQue--;                 this.doTask();             });         }     } } 感觉我这个比较好理解