Promise 是一个代理对象,代表一个尚未完成但预期会完成的操作,有三个状态:pending(进行中)、fulfilled(已成功)、rejected(已失败)。状态一旦从 pending 转变就不可逆,之后总是走 .then 或 .catch。
链式调用是 Promise 的精髓:.then 返回新的 Promise,前一步的返回值作为后一步的入参,于是「获取用户 → 查订单 → 渲染」写成一条链而不是三层嵌套,错误也能用最后的 .catch 统一捕获。
fetch('/api/user') .then(res => res.json()) // 返回新 Promise,链式下传 .then(user => render(user)) .catch(err => console.error('失败:', err)); // 并发:三个请求同时发,全部完成后渲染 const [a, b, c] = await Promise.all([pa, pb, pc]);