Skip to content

async

一句话解释

async 是声明异步函数的关键字,让函数总是返回 Promise,函数体内可以用 await 等待异步操作。

用大白话说

async 是 ES2017 引入的关键字,用来声明一个异步函数。它做两件事:

  1. 让函数总是返回 Promise:即使你 return 5,返回的也是 Promise.resolve(5)
  2. 允许函数体内用 await:普通函数里不能用 await,async 函数里可以
async function fetchData() {
  const res = await fetch("/api/data");  // 等待请求完成
  const data = await res.json();         // 等待解析完成
  return data;
}

async/await 的意义是让异步代码看起来像同步代码——一行行往下写,不用 .then() 链,不用嵌套回调,可读性大幅提升。错误处理用 try/catch,和同步代码一样。

async 函数本身是立刻返回的(返回一个 Promise),函数体里的代码是“安排”到后面执行的。调用 async 函数时也要用 await 或 .then() 拿最终结果。

示例

javascript
async function getUser() {
  const res = await fetch("/api/user");
  return res.json();
}
getUser().then((user) => console.log(user));

async 声明异步函数,函数内用 await 等待 fetch。函数返回 Promise,调用方用 .then() 或 await 拿结果。

工作原理

  1. async 关键字声明函数
  2. 函数总是返回 Promise,即使 return 的是普通值
  3. 函数体内可以用 await 等待其他 Promise
  4. 调用 async 函数得到 Promise,用 await 或 .then() 取结果

常见混淆

  • 容易混淆的对象: await

    关键区别: async 用来声明函数是异步的(返回 Promise),await 用来在 async 函数内等待一个 Promise 完成。async 是“声明”,await 是“等待”。

相关术语

相关资源

相关课程

学习基础知识

通过结构化课程深入理解这个主题。

查看课程

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误

← 返回术语表