Norman's Note 諾曼筆記

Norman's Note 諾曼筆記

Event loop, Task, Microtasks

https://zh.javascript.info/event-loop
https://zh.javascript.info/microtask-queue

microtask & event handler

https://codesandbox.io/s/zealous-heyrovsky-g6j53

執行順序:

https://javascript.info/event-loop

  1. 同步
  2. microtask *n 到結束(microtask 會在每次主線程執行前清空(執行完)再進行下一個非同步操作)
  3. 非同步
  4. microtask -> 下一個非同步 task
  • onFocus, onBlur 在手動操作時為“非同步”執行,但是用程式 .focus() 執行時,為“同步”執行(也就是說其他 task, microtask 都要等它)

Using microtasks in JavaScript with queueMicrotask()

https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide

Task queues vs microtasks (Using Promises)

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

In depth: Microtasks and the JavaScript runtime environment

https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide/In_depth#Tasks_vs_microtasks