Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
тогда как все окна с одного домена (по правилу same origin) делят между собой один и тот же событийный цикл, ведь они могут синхронно коммуницировать между собой.
window объекты у same-origin фреймов одной вкладки, а также окна вкладок, открытых с помощью window.open, однако не берусь утверждать.В мире ECMAScript микрозадачи именуют заданиями («jobs»).Вот это место смутило. По идее как раз стандарт и определяет что и как называется. Тогда неясно откуда взялась «авторское» именование и почему оно противоречит стандарту и, мало того, указывается как основное, более правильное (!).
setTimeout, setInterval), а микрозадача соответствует setImmediate. Таким образом, микрозадача будет выполняться раньше, чем любая задача (потому что первая ставится в начало очереди, а вторая — в конец). Это же проясняет и ситуацию с промисами. Если имплементация промиса для вызова уже резовленного промиса «использует» setImmediate (ставит обработку в начало очереди), то мы получаем правильный порядок, если setTimeout(fn, 0) (ставит обработку в конец очереди), то будет некорректная последовательность в выводе.setImmediate это как раз задача (task) — он не блокирует основной событийный цикл. Микрозадачи это, например, Promise (по стандарту), process.nextTick (сравните с setImmediate на ноде), микрозадачи создаются MutationObserver.
Задачи, микрозадачи, очереди и планы