назад до уроку

Викличте async-функцію зі "звичайної"

У нас є “звичайна” функція під назвою f. Як ви можете викликати async-функцію wait() і використовувати її результат всередині f?

async function wait() {
  await new Promise(resolve => setTimeout(resolve, 1000));

  return 10;
}

function f() {
  // ...що тут варто написати?
  // нам потрібно викликати async-функцію wait() і почекати, щоб отримати 10
  // пам’ятайте, ми не можемо використовувати "await"
}

P.S. Технічно завдання дуже просте, але дане питання досить поширеним серед розробників, які тільки починають працювати з async/await.

Це той випадок, коли корисно знати, як воно працює всередині.

Просто трактуйте виклик async як проміс та додайте до нього .then:

async function wait() {
  await new Promise(resolve => setTimeout(resolve, 1000));

  return 10;
}

function f() {
  // покаже 10 через 1 секунду
  wait().then(result => alert(result));
}

f();