setTimeout、Promise、Async-Await-的区别 Posted on 2019-07-30 Edited on 2022-03-04 在浏览器环境中,setTimeout属于macrotasks queue(宏任务队列),Promise、Async/Await属于microtasks queue(微任务队列)。js事件循环,会先执行微任务队列,再执行宏任务队列。如在浏览器中:会先执行promise微任务队列,再执行setTimeout的宏任务队列。另外,我们可以手动把一个任务加入微任务执行队列中:执行顺序为3-》4-》queueMicrotask-》1