JavaScript 前端工程 好文記錄與分享

[好文分享] JavaScript Concurrency model and Event Loop

🏆 超過50萬名讀者已閱讀本站的內容,共同創造了85萬次總閱讀次數!

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop

JavaScript 是 event driven 的, 在當下 event handler (包含他所有 call stack) 結束之前, 是不會被 interrupt 的. 如果當下 event handler 在執行中又有其他 event, 則 queue 起來再處理. By this model, JavaScript 在撰寫時有幾點要注意:

1. As the link says “A good practice to follow is to make message processing short and if possible cut down one message into several messages.”
2. 避免 recursive function calls, 即使有的話也要特別注意.
3. 真的要開 thread 就要用 web workers. 他 postMessage 一樣加到 message queue 等待執行.
4. Ajax XHR 的 onreadystatechange event 一樣是加到 message queue 等待執行.

本站的主題是商業、創業、美食、葡萄酒、科技、AI、財經投資

我的 Threads > 1.8k追蹤,FB粉專 > 1.7k追蹤,也歡迎加入我的 IG 觀看短影片~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *