Где я могу найти полный список элементов, добавленных в очередь MicroTask? - PullRequest
2 голосов
/ 21 января 2020

Я отслеживаю после прочтения сообщения Разница между микрозадачей и макрозадачей в событии l oop context

Приведенные примеры:

macrotasks: setTimeout, setInterval, setImmediate, requestAnimationFrame, I/O, UI rendering
microtasks: process.nextTick, Promises, Object.observe, MutationObserver

I Мне интересно, где можно найти список задач, добавленных в очередь микрозадач в официальных документах

Спасибо

1 Ответ

0 голосов
/ 21 января 2020

https://html.spec.whatwg.org/multipage/webappapis.html#perform -a-контрольная точка микрозадачи

Когда пользовательский агент должен выполнить контрольную точку микрозадачи:

  1. Если событие l oop, выполняющее контрольную точку микрозадачи, имеет значение true, верните значение.

  2. Установите для события l oop, выполняющего контрольную точку микрозадачи, значение true.

  3. Пока очередь микрозадачи события l oop не пуста:

    3.1 Пусть в качестве самой старшей из микрозадач используется очередь из очереди микроазажных событий события l oop.

    3.2 Задайте для события l oop, выполняющегося в данный момент, значение старейшей Microtask.

    3.3 Запустите oldMicrotask.

    Это может включать вызовы сценариев обратного вызова, которые в конечном итоге вызывают очистку после выполнения шагов сценария, которые вызывают это, снова выполните алгоритм проверки контрольных точек микрозадач, поэтому мы используем флаг проверки контрольных точек микрозадач, чтобы избежать повторного входа.

    3.4 Установить событие l oop текущая задача назад к нулю.

  4. Для каждый объект настроек среды, ответственное событие которого l oop является этим событием l oop, уведомляет об отклоненных обещаниях для этого объекта настроек среды.

  5. Очистка транзакций индексированной базы данных.

  6. Установить для события l oop, выполняющего контрольную точку микрозадачи, значение false.

Когда параллельный алгоритм должен ожидать стабильного состояния, Пользовательский агент должен поставить в очередь микрозадачу, которая выполняет следующие шаги, а затем должен прекратить выполнение (выполнение алгоритма возобновляется при запуске микрозадачи, как описано в следующих шагах):

Запуск синхронного раздела алгоритма.

При необходимости возобновляет выполнение алгоритма параллельно, как описано в шагах алгоритма.

Шаги в синхронных секциях отмечены значком ⌛.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...