js async和await用法\
时间: 2023-11-01 12:00:34 浏览: 81
async和await是ES2017引入的新特性,用于简化异步操作的写法。
async函数是一个返回Promise对象的函数,可以使用await等待异步操作的结果。await只能在async函数中使用。
下面是一个例子:
```
async function getData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
```
在上面的代码中,我们定义了一个async函数`getData`,它使用`await`等待fetch返回的Promise对象。当fetch返回的Promise对象resolve之后,我们使用await等待response.json()返回的Promise对象。最终,我们返回data。
使用async和await的好处是代码更加清晰易懂,不再需要使用回调函数或者Promise的then方法。
需要注意的是,async函数返回的是一个Promise对象,如果函数内部有错误抛出,Promise对象会reject。因此,我们可以使用try-catch语句捕获错误。
下面是一个完整的例子:
```
async function main() {
try {
const data = await getData();
console.log(data);
} catch (error) {
console.error(error);
}
}
async function getData() {
const response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
return data;
}
main();
```
阅读全文