js的執行步驟是:
先執行同步,在執行微任務,最後執行巨集任務。
一下**:
let promise = new promise(resolve=>,0);
console.log('promise')
}).then(value=>console.log('then'))
console.log('外面的console')
當js順序執行的時候遇到settimeout師將其加入到巨集任務佇列,準備執行。
然後繼續執行到console.log(『promise』),then()中的任務要在resolve()執行後才將任務加入到微任務佇列,
所以先執行巨集任務中的settimeout,執行resolve,then將任務加入微任務佇列準備執行,列印』settimeout』,最後列印』外面的console』。好吧我知道,我解釋的很不好,因為比較忙,下次有空了再重新整理描述。
promise的佇列,巨集任務,微任務,同步任務
promise裡面有乙個特別的任務,就是微任務 同步任務 微任務 巨集任務 settimeout 0 代表的是巨集任務 new promise resove reject then console.log hello 這裡面輸出的結果是 同步任務 then console.log hello 同步任...
巨集任務和微任務
概念 1.巨集任務 當前呼叫棧中執行的 成為巨集任務。主 快,定時器等等 3.巨集任務中的事件放在callback queue中,由事件觸發執行緒維護 微任務的事件放在微任務佇列中,由js引擎執行緒維護。執行機制02 1.在執行棧中執行乙個巨集任務。2.執行過程中遇到微任務,將微任務新增到微任務佇列...
巨集任務和微任務
1.巨集任務 分類 settimeout setinterval requrestanimationframe 1 巨集任務所處的佇列就是巨集任務佇列 2 第乙個巨集任務列中只有乙個任務,執行主線程的js 3 巨集任務佇列可以有多個 2.微任務 分類 new promise then process...