前端面试题await和async
时间: 2023-11-18 14:53:10 浏览: 89
async/await 是 ES2017 中引入的一种异步编程的解决方案,它是基于 Promise 实现的。async/await 让异步代码看起来像同步代码,使得代码可读性更好,也更容易维护。
async/await 的使用方法是在函数前面加上 async 关键字,然后在函数内部使用 await 关键字来等待 Promise 对象的返回结果。当 await 关键字后面的 Promise 对象状态变为 resolved 时,await 表达式的值就是 resolved 的值;当 Promise 对象状态变为 rejected 时,await 表达式会抛出错误。
下面是一个使用 async/await 的例子:
```
async function getData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
```
在上面的例子中,我们使用了 async/await 来获取一个 API 的数据。首先我们使用 fetch 函数来获取数据,fetch 函数返回一个 Promise 对象,我们使用 await 关键字等待 Promise 对象的返回结果。当 Promise 对象状态变为 resolved 时,我们使用 await 关键字获取 resolved 的值,并将其转换为 JSON 格式。最后我们打印出获取到的数据。
阅读全文