//這裡面輸出的結果是:promise裡面有乙個特別的任務,就是微任務
//同步任務》微任務》巨集任務
settimeout(() =>,
0); //
代表的是巨集任務
new promise(resove=>,reject=>).then(()=>)
console.log(
"hello");
同步任務
}).then(() =>)
console.log(
"hello
"); //
同步任務
/*不管什麼任務,一旦放入了主線程中執行,必須等主線程裡的任務執行完,才可以執行下乙個放入主線程的任務
所以 **執行時,一開始先到定時器,定時器是非同步的並且是巨集任務,先放入記憶體中,不執行。
再往下走,經過了第乙個同步任務promise,放入主線程中執行,再走,發現then,不執行,
繼續往下,第二個同步任務(hello)執行,
現在同步走完,開始執行非同步的任務,進到定時器裡,說明這裡將定時器放入主線程了,不管console.log("settimeout"); 放在resove()的上面還是下面,都會先輸出settimeout,因為要先將定時器先處理完,
所以最後再輸出 '成功了' .
所以這個例子也告訴我們,同步任務》微任務》巨集任務 並不是絕對的
Promise 微任務 巨集任務和同步
js的執行步驟是 先執行同步,在執行微任務,最後執行巨集任務。一下 let promise new promise resolve 0 console.log promise then value console.log then console.log 外面的console 當js順序執行的時候遇...
巨集任務和微任務
概念 1.巨集任務 當前呼叫棧中執行的 成為巨集任務。主 快,定時器等等 3.巨集任務中的事件放在callback queue中,由事件觸發執行緒維護 微任務的事件放在微任務佇列中,由js引擎執行緒維護。執行機制02 1.在執行棧中執行乙個巨集任務。2.執行過程中遇到微任務,將微任務新增到微任務佇列...
巨集任務與微任務
之前我們討論過js 執行的同步和非同步,js的單執行緒執行機制不會改變 但是僅僅懂得同步非同步是遠遠不夠的 比如說下面這些 1 settimeout function 4new promise function resolve,reject then function 10 console.log ...