@Rocknrolla99
Some text

Как выполнить функции последовательно по таймауту?

Есть код
function a() {
      setTimeout(()=>{
        console.log(123)
      },2000)
}

function b() {console.log(9999)}

async function wrap() {
  await a()
  await b()
}

wrap()


По таймауту происходит какая-то логика и после окончания нужно вызывать другую функцию.
Подскажите как лучше выполнить такой кейс ?Пытался через асинк эвейт, но здесь функция b выдаст результат раньше чем закончится таймаут.
Нужна последовательность. а->b

Пример кода
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@StockholmSyndrome
const call = (func, delay) => new Promise((r) => setTimeout(() => r(func()), delay));

function a() {
  console.log(123);
}

async function wrap() {
  await call(a, 2000);
  b()
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@siptik
php developer, freelancer, Web-studio owner
Промисы посмотри. Мне кажется это то что тебе нyжно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы