JavaScript Promise 速查表
Promise 是 JavaScript 异步编程的核心,整理创建、消费、并发控制等常用模式。
返回 编程语言创建 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 的语法糖,让异步代码更像同步。