Есть тут особенность. Оператор await можно использовать только внутри асинхронных функций.
Поэтому надо обернуть код в асинхронную функцию, а потом вызывать ее
async function main () {
async function f() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("готово!"), 1000)
});
return promise; // будет ждать, пока промис не выполнится (*)
}
alert( await f());
}
main()
Другой вариант - просто использовать then
async function f() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve("готово!"), 1000)
});
return promise; // будет ждать, пока промис не выполнится (*)
}
f().then (res => alert(res))