Показать сообщение отдельно
  #2 (permalink)  
Старый 02.04.2020, 08:00
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

async функция всегда возвращает промис, разрешенный с тем значением, которое было указано в return.

return value в async функции эквивалентно return Promise.resolve(value), если value не является Promise. А если value - Promise, то оно и возвращается.

Что бы достать значение из возвращенного Promise - используется оператор await

async function f () {return 42}

let a = f() // a = Promise.resolve(42)
let b = await f() // b = 42

Поэтому переписываем alert (await f())
Ответить с цитированием