如何结合 Promise 和 async/await 使用?
时间: 2024-09-20 13:16:55 浏览: 40
详解小程序原生使用ES7 async/await语法
在 JavaScript 中,结合 `Promise` 和 `async/await` 可以让异步代码看起来更像同步,提高了代码的可读性和简洁度。`async/await` 是 ES7 引入的一个特性,它是基于 `Promise` 的语法糖。
使用 `async` 关键字修饰一个函数,表示这个函数将返回一个 Promise。然后,你可以使用 `await` 关键字暂停当前函数的执行,直到 Promises 对象的结果可用。`await` 后面跟随的是一个 Promise,当这个 Promise 解析时,其结果会被自动赋给 `await` 后面的变量。
例如:
```javascript
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json(); // 等待解析 JSON 数据
return data;
} catch (error) {
console.error('Error fetching data:', error);
return null; // 或者返回错误处理结果
}
}
fetchData().then(data => {
console.log(data);
}).catch(error => {
console.error(error);
});
```
在这个例子中,`fetchData` 函数内部的异步操作(`fetch` 和 `response.json()`)都被 `await` 关键字包裹,使得代码更具可读性。
阅读全文