简单想了下,并发那个 这样可行不 class Scheduler {   constructor() {     this.count = 2; //并发数量     this.arr = []; //事件   }   //不能直接new Promise   addTask(time, str) {     const fn = (resolve) => {       setTimeout(() => {         console.log(str);         resolve();       }, time * 1000);     };     this.arr.push(fn);   }   start() {     let p = this.count;     for (let i = 0; i < p; i++) {       if (this.arr.length <= 0) return;       let fn = this.arr.shift();       new Promise((resolve) => {         this.count--;         fn(resolve);       }).then(() => {         this.count++;         this.start();       });     }   } }