事件循環(Event Loop)是一種機制,允許 JavaScript 或 Node.js 在單執行緒環境中非阻塞地執行異步操作。
事件循環的工作原理是不斷地從任務佇列中取出任務並執行它們。在 JavaScript 中,所有任務被分為兩種類型:宏任務(macro-task)和微任務(micro-task)。宏任務包括腳本、setTimeout、setInterval 等,而微任務包括 Promise 的 then 和 catch 方法等。事件循環首先執行宏任務,然後在每個宏任務之間處理微任務。這種機制使得 JavaScript 能夠在單執行緒下高效地處理異步操作,避免了阻塞,保證了程式的回響性和流暢性。
此外,事件循環不僅限於 JavaScript 或 Node.js,而是許多現代程式語言和環境中處理異步操作的關鍵機制。