完整圖解Node.js的Event Loop(事件迴圈)
最近當完兵在面試Backend Engineer的缺,想把主力放在Node.js上,因此又把一些Node.js的核心觀念拿出來啃了一遍。網路上太多把前端瀏覽器的Event Loop與Node.js的Event Loop混著講的文章了,因此趁記憶猶新時把Node.js的Event Loop記錄一下,釐清一下觀念。
在開始前先做個小測驗,如果你都能答對代表你的觀念很清晰,這篇文章的內容你應該都懂了。如果答錯了就請繼續往下閱讀吧。
請寫出各個console.log();輸出的順序:
console.log('start');
process.nextTick(function() {
console.log('nextTick1');
});
setTimeout(function() {
console.log('setTimeout');
}, 0);
new Promise(function(resolve, reject) {
console.log('promise');
resolve('resolve');
}).then(function(result) {
console.log('promise then');
});
(async function() {
console.log('async');
})();
setImmediate(function() {
console.log('setImmediate');
});
process.nextTick(function() {
console.log('nextTick2');
});
console.log('end');
挑戰一下自己先別往下滑
再往下滑就是解答嘍!!

近期迴響