使用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
相关产品推荐
相关产品推荐

