async await 和then catch
时间: 2023-10-17 15:26:43 浏览: 81
async和await的用法
async/await 和 then/catch 是用于处理 JavaScript 异步操作的两种不同的语法风格。
1. then/catch:这是传统的 Promise 链式调用风格。通过调用 Promise 实例的 then 方法,可以在异步操作完成后执行相应的回调函数。这种风格需要手动地将每个异步操作链接在一起,使用 then 方法将结果传递给下一个回调函数。如果发生错误,可以使用 catch 方法捕获并处理异常。
示例代码:
```javascript
asyncFunction()
.then(result => {
// 处理成功的结果
})
.catch(error => {
// 处理错误
});
```
2. async/await:这是一种基于 Promise 的异步编程语法糖。使用 async 关键字声明一个函数为异步函数,并在函数内部使用 await 关键字来等待异步操作的结果。在使用 await 时,程序会暂停执行,直到异步操作完成并返回结果。如果发生错误,可以使用 try/catch 块来捕获和处理异常。
示例代码:
```javascript
async function myFunction() {
try {
const result = await asyncFunction();
// 处理成功的结果
} catch (error) {
// 处理错误
}
}
```
总之,async/await 提供了一种更简洁、直观的方式来处理异步操作,尤其是当多个异步操作需要按顺序执行时。而 then/catch 则更适合在需要对每个异步操作的结果进行特定处理或进行并行处理时使用。
阅读全文