Javascript中的非同步函式和Node事件迴圈


非同步函式程式繼續執行。它不會等待!這樣可以減少使用者的等待時間。此外,Javascript 作為一種程式語言本身就是非同步的。

例如,如果程式碼中正在執行一個代價高昂的請求,這可能需要很長時間,那麼對於非同步函式,等待時間會過長,使用者也無法執行任何其他操作!

因此,通常在執行代價高昂且耗時的操作時,我們更傾向於使用非同步程式碼。

讓我們來看一個 Javascript 中非同步函式的例子

示例

console.log('One');
jQuery.get('page.html', function (data)
{
   console.log("Two");
});
console.log('Three');

輸出

One, Two, Three

現在,讓我們看看 Node 中的事件迴圈是什麼。

事件迴圈是線上程排程中建立的,其中操作是我們的執行緒在任何給定時間點應該執行的。

任何 Node.js 應用程式都包含對各種事件(例如傳入連線、I/O 完成、超時過期、Promise 解析等)做出反應而執行的回撥函式。主執行緒(我們現在知道它是事件迴圈)執行所有這些回撥函式。

當事件迴圈執行時,Node 在每次迭代中都會檢查它是否正在等待任何非同步 I/O 或計時器。如果沒有找到任何內容,則 Node 會將其關閉。

更新於:2020年8月6日

126 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告