在JS中 async await
时间: 2023-09-28 13:07:40 浏览: 102
async 和 await 是ES2017(也称为ES8)中引入的两个关键字,用于处理异步代码。
async 关键字用于定义一个异步函数,它可以在函数内部使用 await 来等待一个 Promise 对象的结果,而不必使用回调函数或者 Promise 的 then() 方法。
例如:
```
async function getData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
```
在上面的示例中,getData() 函数是一个异步函数,它使用 await 关键字等待 fetch() 方法返回的 Promise 对象,并将其转换为 JSON 格式的数据。如果 fetch() 方法返回的 Promise 对象被拒绝,那么 async 函数将抛出一个错误。
await 关键字只能在异步函数中使用,它用于等待一个 Promise 对象的结果,并返回该结果。如果 Promise 对象被拒绝,那么 await 关键字将抛出一个错误。
例如:
```
async function getData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
getData()
.then(data => console.log(data))
.catch(error => console.error(error));
```
在上面的示例中,我们调用了异步函数 getData(),并使用 then() 方法来处理返回的数据。如果发生错误,我们可以使用 catch() 方法来捕获错误。
总之,async 和 await 是一种更简单、更直观的处理异步代码的方式,它使得代码更易于阅读和维护。
阅读全文