微任务和宏任务是什么
时间: 2023-12-24 09:39:56 浏览: 109
微任务和宏任务是异步任务的两种分类。宏任务包括整体代码(即外层同步代码)、setTimeout、setInterval、I/O、UI渲染等。微任务包括Promise、async/await、promise.then/catch/finally、事件队列等。宏任务和微任务的执行顺序是先执行主线程执行栈中的代码(同步任务),然后将异步宏任务放入宏任务队列中,将异步微任务放入微任务队列中。当所有同步代码执行完毕后,会先执行微任务队列中的微任务,直到微任务队列被清空,然后再执行宏任务队列中的宏任务,循环往复,直至所有任务执行完毕。简言之,微任务优先于宏任务执行,即当微任务队列的所有任务全部执行完后,才开始执行宏任务。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [宏任务与微任务](https://blog.csdn.net/ghc19980122/article/details/129099769)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [宏任务与微任务的理解](https://blog.csdn.net/weixin_47981807/article/details/122309155)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [什么是宏任务微任务](https://blog.csdn.net/zyj123__/article/details/126810716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文