You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用new调用Promise.reject/resolve报错:Uncaught TypeError求助

问题解决:Promise.reject/Promise.resolve 报错 "not a constructor"

你出错的原因很直接:Promise.resolve 和 Promise.reject 是Promise的静态方法,不是构造函数,不能用new关键字来调用。

正确写法

直接调用静态方法即可,不需要new:

创建已拒绝的Promise:

const p4 = Promise.reject("Error"); 

创建已解决的Promise:

const p4 = Promise.resolve("Success"); 

补充:构造函数方式(不推荐,静态方法更简洁)

如果一定要通过Promise构造函数实现相同效果,可以这样写,但完全没必要多此一举:

// 等价于Promise.reject("Error")
const p4 = new Promise((resolve, reject) => {
  reject("Error");
});

// 等价于Promise.resolve("Success")
const p4 = new Promise((resolve) => {
  resolve("Success");
});

内容的提问来源于stack exchange,提问作者Fadıl Başaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:07:33