JavaScript Promise 速查表

Promise 是 JavaScript 异步编程的核心,整理创建、消费、并发控制等常用模式。

编程语言·共 19 条命令·最后更新 2026-07-19
返回 编程语言

创建 Promise 4

new Promise((resolve, reject) => {})
创建新 Promise
Promise.resolve(value)
创建已成功的 Promise
Promise.reject(reason)
创建已失败的 Promise
Promise.resolve(promise)
返回传入的 Promise

消费 Promise 4

promise.then(result => {})
成功回调
promise.catch(error => {})
失败回调
promise.finally(() => {})
无论成功失败都执行
promise.then(onFulfilled, onRejected)
同时指定成功和失败回调

并发控制 4

Promise.all([p1, p2])
全部成功才成功,一个失败即失败
Promise.race([p1, p2])
第一个完成的 Promise 结果
Promise.allSettled([p1, p2])
等待全部完成,返回每个结果
Promise.any([p1, p2])
第一个成功的 Promise(全部失败才失败)

链式调用 3

fetch(url).then(r => r.json()).then(data => {})
链式处理响应
promise.then(() => nextPromise())
串联多个异步操作
promise.catch(err => handleError(err)).then(() => retry())
错误处理后重试

async/await 4

async function fn() { await promise }
async 函数内使用 await
const result = await promise
等待 Promise 结果
try { await promise } catch (err) {}
捕获异步错误
await Promise.all([p1, p2])
并发执行多个异步操作

💡 提示

  • Promise 状态:pending(进行中)、fulfilled(已成功)、rejected(已失败)。
  • then 返回新 Promise,支持链式调用。
  • catch 等同于 then(null, rejection)。
  • Promise.all 适合并发请求,allSettled 适合需要所有结果的场景。
  • async/await 是 Promise 的语法糖,让异步代码更像同步。