Что выведет код Junior Промисы и async/await обновлено

await внутри forEach

Вопрос

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

const arr = [1, 2];
arr.forEach(async (x) => {
  await null;
  console.log(x);
});
console.log('после forEach');

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

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

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

Коротко

Код выведет: после forEach, 1, 2. Почему так forEach игнорирует возвращаемое значение колбэка, поэтому 'после forEach' печатается первым.

Что выведет

после forEach
1
2

Разбор

Почему так

forEach игнорирует возвращаемое значение колбэка, поэтому 'после forEach' печатается первым. Для последовательности нужен for..of с await.

Вывод

после forEach
1
2

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

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

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