последовательное выполнение асинхронных функций js

Есть две асинхронных функции, как сделать чтобы вторая функция выполнялась только после того как первая выполнит свою работу


Ответы (1 шт):

Автор решения: Konstantin Modin

Можно запустить их в асинхронной функции так:

await firstFunction();
await secondFunction();

Вот пример который демонстрирует это:

const first = async () => {
      return await new Promise((resolve) => setTimeout(() => resolve(), 2000));
    };
    const second = async () => {
      return await new Promise((resolve) => setTimeout(() => resolve(), 1000));
    };
    
    const init = async () => {
      console.time("1");
      await first();
      console.timeEnd("1");
    
      console.time("2");
      await second();
      console.timeEnd("2");
    };
    
    init();

→ Ссылка