--- title: 非同步的 JavaScript slug: Learn/JavaScript/Asynchronous tags: - Beginner - CodingScripting - Guide - JavaScript - Landing - Promises - async - asynchronous - await - callbacks - requestAnimationFrame - setInterval - setTimeout - 非同步的 ---
在本單元我們來討論非同步的 ({{Glossary("asynchronous")}}) {{Glossary("JavaScript")}} ,為何其如此重要,並了解它如何有效率的處理像是從伺服器獲取資源的這類潛在性阻塞 (blocking) 操作
非同步的 JavaScript 是一個相當進階的主題,因此建議您在嘗試本單元前能先通過 JavaScript 初探 以及 JavaScript 構成元素 單元。
如果您對非同步程式設計的概念還不太熟悉,強烈建議您應該先從 非同步程式設計通用概念 的文章開始學習。如果您已經具備其概念,那麼您或許可以跳至 非同步的 JavaScript 介紹 單元開始。
在本篇文章我們會介紹一些關於非同步程式設計的重要觀念,以及在網頁瀏覽器和 JavaScript 中的行為。在閱讀其他文章之前您應該先具備這些觀念。
async
函式以及 await
運算子。前者能夠讓標準的函式隱含的使用 promises 方式來實現非同步行為,然而後者可以被用在 async
函式內部,讓程式碼繼續執行之前去等待一個 promises 完成。這能讓我們在鏈結一連串的 promises 的情況之下更加簡潔易懂。