任务队列的题可以用promise/async await来做 class Queue{ constructor(){ this.queue = []; } task(delay, callback){ this.queue.push({ delay, callback }); return this; } async start(){ for(let i=0;i<this.queue.length;i++){ await new Promise((resolve)=>{ setTimeout(resolve, this.queue[i].delay) }).then(()=>{ this.queue[i].callback(); }) } } }