前言
async 和 await 是 JavaScript 中用于处理异步操作的关键字。它们通常与 Promise 对象一起使用,使得编写异步代码变得更加清晰和易读。下面是对它们的详细解释:
提示:以下是本篇文章正文内容,下面案例可供参考
一、async 和 await是什么?
async 和 await 是 JavaScript 中用于处理异步操作的关键字。它们通常与 Promise 对象一起使用,使得编写异步代码变得更加清晰和易读。下面是对它们的详细解释:
1、async 函数
- async 函数是一种声明异步函数的方式。当函数被声明为 async 时,它将始终返回一个 Promise 对象。
- 在 async 函数内部,可以使用 await 关键字等待一个 Promise 对象的解决。
async function myAsyncFunction() {
return 'Hello, async!';
}
// 调用 async 函数
myAsyncFunction().then(result => {
console.log(result); // 输出: Hello, async!
});
2、await关键字
- await 只能在 async 函数内部使用。它暂停异步函数的执行,等待 Promise 对象解决,然后继续执行下面的代码
- 在 await 后面可以放置任何返回 Promise 对象的表达式,包括调用 async 函数。
function resolveAfter2Seconds() {
return new Promise(resolve => {
setTimeout(() => {
resolve('Resolved after 2 seconds');
}, 2000);
});
}
async function asyncExample() {
console.log('Start');
const result = await resolveAfter2Seconds();
console.log(result);
console.log('End');
}
// 调用 async 函数
asyncExample();
// 输出:
// Start
// Resolved after 2 seconds
// End