Promise — объект результата, а его обработчики выполняются как microtasks; таймеры и многие события планируют отдельные tasks.
В чём разница между Promise, микрозадачами и макрозадачами с точки зрения выполнения в браузере и перерисовки интерфейса? Что произойдёт при бесконечной цепочке микрозадач?
Promise — объект результата, а его обработчики выполняются как microtasks; таймеры и многие события планируют отдельные tasks.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Promise — объект результата, а его обработчики выполняются как microtasks; таймеры и многие события планируют отдельные tasks.
После задачи microtasks обрабатываются до опустошения очереди. Бесконечное создание новых microtasks задержит таймеры и обновление интерфейса. Создание Promise не означает параллельное выполнение: executor вызывается синхронно, а тяжёлый код остаётся блокирующим.