Как установить последовательность выполнения функций в JS. Promise. Async await. - IZIART

Разработка сайтов
индивидуальный дизайн

Главная » JS » Как установить последовательность выполнения функций в JS. Promise. Async await.

Как установить последовательность выполнения функций в JS. Promise. Async await.

Обновлено: 05.10.2023
js

Async и Promise

Последовательное выполнение операций можно добиться несколькими способами.

Ниже пример поочередного выполнения на примере promise и async. Async возвращает promise и далее работает как promise.

Результат выполнения функций ниже будет одинаковым.

// async
async function fn() {
  return 'hello';
}
fn().then(console.log)
// hello


// promise
function fn() {
  return Promise.resolve('hello');
}
fn().then(console.log);
// hello

Async / await

Await работает только внутри async функции.

async function f() {
  let promise = new Promise((resolve) => {
    setTimeout(() => resolve("готово!"), 3000)
  });

  let result = await promise; // будет ждать, пока промис не выполнится (*)
  console.log(result); 
}
f(); // выведет "готово!" через 3 сек