前端async await用法
时间: 2024-12-05 10:13:29 浏览: 11
在前端开发中,async和await是用于处理异步操作的语法糖,使得异步代码的书写和阅读更加简洁和直观。async和await是基于Promise的进一步封装,使用它们可以让异步代码看起来像同步代码一样。
1. **async函数**:async关键字用于声明一个异步函数。异步函数返回一个Promise对象。如果在异步函数中显式返回一个值,这个值会被Promise.resolve()包装;如果抛出异常,这个异常会被Promise.reject()包装。
2. **await表达式**:await关键字只能在async函数内部使用。await后面通常跟一个Promise对象,await会暂停async函数的执行,直到Promise对象的状态变为resolved或rejected。
以下是一个使用async和await的示例:
```javascript
// 模拟一个异步操作,返回Promise
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("数据获取成功");
}, 2000);
});
}
// 使用async和await处理异步操作
async function getData() {
try {
console.log("开始获取数据");
const result = await fetchData();
console.log(result); // 输出: 数据获取成功
} catch (error) {
console.error("获取数据失败", error);
}
}
getData();
```
在这个示例中,`getData`是一个异步函数,使用`await`关键字等待`fetchData`返回的Promise对象。当Promise对象的状态变为resolved时,`result`变量会被赋值为Promise的解决值。
阅读全文