async-await函数

127 阅读1分钟

async-await 函数

async/awaitJavaScript 中处理异步操作的一种语法糖,它基于 Promise 实现,让异步代码更易于编写和阅读。

  • async 关键字

async 关键字用于定义一个函数,将其标记为异步函数。异步函数内可以使用 await 关键字来等待一个 Promise 的执行结果。

async function fetchData() {
  // 异步操作
}
  • await 关键字

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;
}
  • Promise 的成功和失败状态

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 的各种状态处理方式