Определение порядка вывода в консоль – пример 16

В приведённом фрагменте лишняя закрывающая фигурная скобка в первом setTimeout: как написано, код завершится SyntaxError без вывода.

Короткий ответ

Что ответить на собеседовании

В приведённом фрагменте лишняя закрывающая фигурная скобка в первом setTimeout: как написано, код завершится SyntaxError без вывода.

Подробный разбор

Ответ с пояснениями

Условие

Укажите, какие значения будут напечатаны в консоль при выполнении приведённого ниже JavaScript‑кода:

 setTimeout(() => new Promise((res) => { console.log(3); res(null); }).then(() => console.log(4)) });

setTimeout(() => console.log(5));

Promise.resolve().then(() => console.log(1));

console.log(6);

setTimeout(() => console.log(7)); console.log(2);

Ответ

В приведённом фрагменте лишняя закрывающая фигурная скобка в первом setTimeout: как написано, код завершится SyntaxError без вывода.

После исправления первой строки на setTimeout(() => new Promise(res => { console.log(3); res(null); }).then(() => console.log(4))); порядок будет 6, 2, 1, 3, 4, 5, 7. Микрозадача 4 выполняется после первого timer callback, до следующего таймера, а не в конце всех таймеров.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее