非同步處理
single-threaded
以由上至下的順序執行
一次只能處理一件事
非常概略性地來說,大致分有:
再分為
例如Promise callback
處理方式:
Web APIs會將任務移動到task queue,繼續執行下個工作
當call stack裡的工作都執行完畢,才處理task queue裡的工作
監看call stack是否已經全部完成
若是,則丟task queue的工作進去
優先度:call stack > micro task queue > macro task queue
https://www.youtube.com/watch?v=8aGhZQkoFbQ
code:mermaid
flowchart TD
subgraph CallStack
end
subgraph WebAPIs
end
subgraph TaskQueue
end
CallStack--處理非同步工作-->WebAPIs
WebAPIs--把非同步工作丟到 Task Queue 去-->TaskQueue
TQT0 --等待 Call Stack 工作全部結束後才丟上去--> CallStack