ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
例题一:先执行微任务,在执行宏任务,并清空里面的微任务,在执行外层的宏任务 ```js setTimeout(() => { console.log(1); new Promise(resolve => { console.log(2); resolve() }).then(() => { console.log(3); }) }) new Promise(resolve => { console.log(4); resolve() }).then(() => { console.log(5); }) console.log(6); setTimeout(() => { console.log(7); }) // 4, 6, 5, 1, 2, 3, 7 ``` 例题二: 结构: 宏1 微1(宏2) 宏3 执行顺序:先执行微任务队列,再把微任务队列中的宏任务补到宏任务队列中 宏任务队列:宏1,宏3,宏2 微任务队列:微1 ``` setTimeout(() => { console.log(1); new Promise(resolve => { console.log(2); resolve() }).then(() => { console.log(3); }) }) new Promise(resolve => { console.log(4); resolve() }).then(() => { console.log(5); }).then(() => { console.log(8); setTimeout(() => { console.log(9); }) }) console.log(6); setTimeout(() => { console.log(7); }) // 4, 6 5 8 1 2 3 7 9 ```