EP 01 | Asynchronous JS 歷史沿革 - 什麼是 Asyn JavaScript?

一直以來都不是很了解 promisefetchasync await 等等的區別,所以特地用這一系列的筆記加深自己的印象。

Synchronous JavaScript(同步 JS )的概念

**JavaScript 是 single threaded (單執行緒 / 單線程)**, single threaded (單執行緒 / 單線程)簡單來說就是只有一個執行緒(主執行緒)可以用來處理工作,並且一個執行緒一次也只能完成一個工作。

同步 JS (Synchronous JavaScript)發生情況

也因為JavaScript 是 single threaded (單執行緒 / 單線程)的,所以當 JS 中某段程式碼需要花費很長時間才能執行完畢或發送請求等待返回訊息時,在這段期間內這個執行緒是無法進行其他操作的(這種情況稱為阻塞或 blocking),一定要等該段程式碼執行完畢才能接續執行接下來的程式碼,這種狀況就被稱為同步 JS 。

1

參考資料

MDN - 通用异步编程概念

程序(進程)、執行緒(線程)、協程,傻傻分得清楚!

MDN - 异步JavaScript简介

Understanding Asynchronous JavaScript

MDN - 並行模型和事件循環

異步程式設計與事件迴圈