Что выведет код Junior Event loop обновлено

async/await и порядок

Вопрос

Что выведет код? По строке на каждый вывод.

async function f() {
  console.log('a');
  await null;
  console.log('b');
}
f();
console.log('c');

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: a, c, b. Почему так Тело до первого await выполняется синхронно. await ставит продолжение в очередь микрозадач, поэтому 'c' успевает раньше 'b'.

Что выведет

a
c
b

Разбор

Почему так

Тело до первого await выполняется синхронно. await ставит продолжение в очередь микрозадач, поэтому 'c' успевает раньше 'b'.

Вывод

a
c
b

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме