async 函数和 await 关键字是 JavaScript 中用于处理异步操作的语法糖,它们结合使用可以简化异步代码的书写和理解。
在 async 函数内,使用 await 关键字取代 then 函数,等待获取 Promise 对象成功状态的结果值 。使用 async 和 await 解决回调地狱问题。
// 核心代码:
// 1. 定义 async 修饰函数
async function fetchData() {
try {
// 2. await 等待 Promise 对象成功的结果
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
fetchData();
- async 函数:
- async 函数是一个特殊的函数,它在函数声明前加上 async 关键字来定义。
- async 函数内部可以包含异步操作,其中可以使用 await 关键字来等待异步操作的结果。
- async 函数总是返回一个 Promise 对象。
- await 关键字:
- await 关键字只能在 async 函数内部使用。
- await 关键字后面通常跟着一个返回 Promise 对象的表达式,它可以是一个异步函数调用、一个 Promise 对象、或者任何返回 Promise 的表达式。
- await 关键字会暂停 async 函数的执行,等待 Promise 对象被解析(resolved)后再继续执行,并返回 Promise 对象的解析值。