promise.reject()是最直接创建rejected promise的方法,传入任意值即以此为reason返回失败promise,常用于快速中断流程或模拟错误,需用.catch()或await捕获。

Promise.reject() 是最直接的方式,传入任意值(包括错误对象、字符串、数字等),它会立即返回一个状态为 rejected 的 Promise。
基本用法:传什么就“拒”什么
它不执行异步操作,只是封装一个失败结果:
- Promise.reject(new Error('网络超时')) → 返回一个以该 Error 对象为 reason 的 rejected Promise
- Promise.reject('请求失败') → 返回一个以字符串为 reason 的 rejected Promise
- Promise.reject(404) → 合法,reason 就是数字 404
常用于快速中断流程或模拟错误
比如在条件判断中提前拒绝:
- 函数开头校验参数:if (!id) return Promise.reject('ID 不能为空');
- 配合 Promise.all 实现“一票否决”:Promise.all([p1, p2, Promise.reject('强制中断')]) 会立刻 reject
注意:和 throw 的区别
Promise.reject() 返回的是 Promise 实例,需搭配 .catch() 或 await 捕获;而 throw 在 async 函数里会隐式转为 rejected Promise,但同步抛错会直接中断执行栈。










