js 中的async和await有什么用?怎么用?
时间: 2023-06-16 21:02:15 浏览: 48
async 和 await 是 ES2017 引入的新特性,用于简化异步操作的代码,让代码更加易读易写。
简单来说,async 用于定义一个异步函数,这种函数返回一个 Promise 对象,可以使用 await 关键字来等待异步操作的结果。当函数中遇到 await 关键字时,它会暂停异步函数的执行,等待 Promise 对象的解决,然后将其解决值作为 await 表达式的返回值。
下面是一个简单的例子:
```javascript
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
```
在上面的代码中,fetchData 函数是一个异步函数,它使用 fetch 函数获取数据并等待响应结果。使用 await 关键字可以使代码更加简洁和易读。
需要注意的是,使用 async 和 await 时需要将代码包裹在 try-catch 语句中,以处理异步操作中可能出现的异常。
除了在函数定义中使用 async 关键字外,还可以使用 await 关键字等待 Promise 对象的解决值,例如:
```javascript
async function getData() {
const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('done!'), 1000);
});
const result = await promise; // 等待 Promise 对象的解决值
console.log(result); // "done!"
}
```
以上就是 async 和 await 的基本用法和作用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)