async-await 函数
async/await 是 JavaScript 中处理异步操作的一种语法糖,它基于 Promise 实现,让异步代码更易于编写和阅读。
async 关键字用于定义一个函数,将其标记为异步函数。异步函数内可以使用 await 关键字来等待一个 Promise 的执行结果。
async function fetchData() {
}
await 关键字只能在异步函数内部使用,用于等待一个 Promise 的执行结果。当 await 后面跟着一个 Promise 对象时,它会暂停异步函数的执行,直到 Promise 对象状态变为 resolved (成功状态)后才会继续执行异步函数。
async function getData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
在 async/await 函数中处理 Promise 的成功和失败状态可以使用 try/catch 块。如果一个 await 表达式之后的 Promise 处于 rejected(失败状态),将抛出一个异常,可以通过 try/catch 块捕获并进行相应的处理。
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
} catch (error) {
console.error('Error:', error);
}
}
当异步函数内的所有 await 表达式的 Promise 都完成时,异步函数将进入完成状态。在这种情况下,可以通过 then/catch 方法处理最终的结果或错误。
fetchData()
.then(data => {
console.log('Data:', data)
})
.catch(error => {
console.error('Error:', error)
})
以上是 async/await 函数的一个基本使用示例,介绍了 async/await 的用法和 Promise 的各种状态处理方式