Это потому, что async function
s возвращает обещание, которое соответствует их возвращаемому значению. Вы не можете написать синхронный код, который обещает await
.
Вы можете, однако, обернуть свой код в асинхронный c IIFE, например:
async function tellJoke() {
let joke = await getJoke()
return joke
}
;(async function (){
const data = await tellJoke()
console.log(data)
})();
Или вы можно использовать Promise.prototype.then
. then
выполняет указанный обратный вызов после разрешения обещания.
async function tellJoke() {
let joke = await getJoke()
return joke
}
tellJoke().then(data => {
console.log(data)
})