JavaScript 词条目录
前端Wiki/词条/async/await

async/await

定义基于 Promise 的异步语法糖,用同步代码的写法执行异步逻辑

async/await 不是新机制,而是 Promise 的语法糖:async 函数的返回值自动包装成 Promise,await 会「暂停」函数执行直到 Promise 落地,然后取出结果继续写下去——异步代码读起来和同步一模一样。

错误处理同步化:把 await 调用包进 try/catch 即可,不用再写 .catch 链。但要注意串行 await 的性能陷阱:无依赖的请求要并发,用 Promise.all 包起来再整体 await。

JavaScript
async function loadUser(id) {
  try {
    const res = await fetch(`/api/user/${id}`);
    const user = await res.json();
    return user;
  } catch (err) {
    console.error('加载失败', err);
    return null;
  }
}

// 并发:三个请求一起发
const [a, b] = await Promise.all([fetchA(), fetchB()]);
⚠ 常见误区
🔗 相关词条Promise异步网络请求错误处理
← 返回来源章节js/g2c0s2.html