js的巨集任務和微任務

2022-05-06 07:24:11 字數 698 閱讀 8664

script(主程式**) settimeout setinterval setimmediate i/o操作 ui渲染 requestanimationframe

promise(原生) mutationobserver process.nexttick() mutation object.observe

事件迴圈、巨集任務、微任務關係如下:

列印順序

script start, script end, promise1, promise2, settimeout
js非同步有乙個機制,就是遇到巨集任務,先執行巨集任務,將巨集任務放入eventqueue,然後在執行微任務,將微任務放入eventqueue最騷的是,這兩個queue不是乙個queue。當你往外拿的時候先從微任務裡拿這個回掉函式,然後再從巨集任務的queue上拿巨集任務的回掉函式。

JS微任務和巨集任務

1.巨集任務 包括整體 script,settimeout,setinterval i o ui 互動事件 setimmediate node.js 環境 2.微任務 promise mutaionobserver process.nexttick node.js 環境 promise.resolv...

js裡的微任務和巨集任務

當js解析執行時,會被引擎分為兩類任務,同步任務 synchronous 和非同步任務 asynchronous 對於同步任務來說,會被推到執行棧按順序去執行這些任務。對於非同步任務來說,當其可以被執行時,會被放到乙個任務佇列 task queue 裡等待js引擎去執行。當執行棧中的所有同步任務完成...

巨集任務和微任務

概念 1.巨集任務 當前呼叫棧中執行的 成為巨集任務。主 快,定時器等等 3.巨集任務中的事件放在callback queue中,由事件觸發執行緒維護 微任務的事件放在微任務佇列中,由js引擎執行緒維護。執行機制02 1.在執行棧中執行乙個巨集任務。2.執行過程中遇到微任務,將微任務新增到微任務佇列...