function promiseFunction() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise resolved');
}, 1000);
});
}
async function asyncFunction() {
console.log('Before await');
const result = await promiseFunction();
console.log(result);
console.log('After await');
}
asyncFunction();
在上面的代码中,asyncFunction
等待 promiseFunction
返回结果。promiseFunction
返回一个 Promise 对象,在一秒钟后 resolve 它,并返回一个字符串 'Promise resolved'
。在 asyncFunction
中,使用 await 关键字暂停函数执行,直到 promiseFunction
resolve 该 Promise。
运行上面的代码会在控制台输出:
Before await
Promise resolved
After await
因为 await 暂停了函数的执行,所以在执行 await 之前的语句会输出,但是在执行完 await 后才会进入 await 后面的语句。