0

Присваивание до await:

введите сюда описание изображения

Присваивание после await:

введите сюда описание изображения

В первом случае переменной присвоилось значение, а во втором нет. Почему так происходит?

nomnoms12
  • 18,448
Swan768
  • 13
  • 3

1 Answers1

1

Асинхронные функции запускаются и начинают исполняться синхронно, их асинхронность начинается с await. Поэтому в первом случае присваивание внутри функции успевает произойти до вывода в консоль вне функции, в отличие от второго случая.

Сравните:

async function foo() {
  console.log(1);
  await Promise.resolve();
  console.log(3);
};

foo(); console.log(2);

vsemozhebuty
  • 14,042