async await 的使用
时间: 2024-10-08 12:05:42 浏览: 20
`async` 和 `await` 是 JavaScript 的特性,它们一起用于编写异步代码,使得原本复杂的回调地狱变得更加清晰易读。`async` 关键字用于声明一个函数为异步函数,而 `await` 关键字则用于暂停执行并等待某个异步操作完成。
使用步骤如下:
1. **标记函数**:
- 使用 `async` 关键字修饰一个函数,表示该函数可以返回一个 Promise。
```javascript
async function fetchData() {
// ...
}
```
2. **引入异步操作**:
- 在异步函数中,使用 `await` 关键字前缀一个 Promise 或者 async/await 返回的结果。
- 这会导致当前的异步函数暂停执行,直到 Promise 解决(resolve)或拒绝(reject)。
```javascript
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json(); // 这里也等待解析 JSON 结果
} catch (error) {
console.error(error);
}
}
```
3. **错误处理**:
- 如果异步操作失败,错误会在 try 块内被捕获并传递给 catch 块。
- 如果需要返回错误信息,可以在 catch 块中返回。
4. **返回值或调用 next 函数**:
- 如果异步操作成功,你可以直接返回数据或者使用 `return` 语句。
- 如果在一个序列中使用多个 await,最后一个 await 结束后返回的是整个序列的结果。
例如:
```javascript
async function main() {
let result1 = await fetchData1();
let result2 = await fetchData2(result1); // 第二个 fetch 需要第一个的结果作为参数
// ...
}
main();
```
阅读全文