Для ожидания функции эта функция должна возвращать обещание.
Таким образом, вам необходимо создать новое обещание.Он будет иметь 2 метода: resolve
и reject
.
resolve
возвращает переменную и используется в случае успеха.Вы можете перехватить его возвращаемое значение, используя promise.then(value => )
или await
, используя его. reject
выдает ошибку и используется при ошибке.Вы можете поймать ошибку, используя promise.catch(err => )
или ожидая асинхронную функцию и поместив ее в блок try-catch.
Вот как должен выглядеть ваш код:
const getName = async () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('xxx');
}, 1000)
})
};
const f = async () => {
name = await getName()
console.log(name)
}
f()