」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > JavaScript 回呼何時異步?

JavaScript 回呼何時異步?

發佈於2024-11-03
瀏覽:227

When Are JavaScript Callbacks Asynchronous?

JavaScript 回呼:是否非同步?

JavaScript 回呼並非普遍非同步。在某些場景下,例如您提供的 addOne 和 simpleMap 函數的範例,程式碼會同步執行。

瀏覽器中的非同步 JavaScript

基於回呼的 AJAX 函數jQuery 中通常是異步的,因為它們涉及 XHR (XMLHttpRequest) 請求。預設情況下,瀏覽器中的 XHR 請求是非同步的,允許在處理請求時持續執行腳本。

Node.js 中的非同步JavaScript

在Node.js 中,異步行為通常由輸入/輸出(I/O) 操作引起,例如檔案I/ O、process.nextTick、setTimeout 和setInterval。由於與資料庫互動涉及底層 I/O 操作,MongoDB/Mongoose 的基於回呼的資料庫呼叫是非同步的。

預定的非同步情況

非同步性通常是根深蒂固在環境中。在瀏覽器中,與 XHR 請求關聯的回呼函數本質上是非同步的。在 Node.js 中,與 I/O 操作相關的回呼同樣是異步的。

自訂非同步函數

無需僅依賴特定環境函數,即可實現異步行為透過利用 ES6 承諾。 Promise 提供了用於定義非同步操作的語言層級機制。附加到 Promise 的回調函數(透過 then 和 catch)始終非同步執行,確保 Promise 後面的程式碼不會阻塞。

版本聲明 本文轉載於:1729388836如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3