完整圖解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');
挑戰一下自己先別往下滑
再往下滑就是解答嘍!!
近期迴響