嗨,我尝试使用以下方法
sendrequest(req: connreq) {
var promise = new Promise((resolve, reject) => {
this.firereq.child(req.recipient).push({
sender: req.sender
}).then(() => {
resolve({ success: true });
}).catch((error) => {
resolve(error);
})
})
return promise;
}
但是我的Visual Studio代码给我以下错误
Property 'catch' does not exist on type 'PromiseLike<void>'
我正在使用Ionic来编译此程序,并且不确定如何更正此方法。我的教程使用的是ionic 3,因此它可能比较旧,我不确定如何更改它以适应新版本。
答案 0 :(得分:0)
避免使用Promise
constructor antipattern!要将某物从类似诺言的东西转换成真实的诺言,只需使用Promise.resolve
:
sendrequest(req: connreq) {
return Promise.resolve(this.firereq.child(req.recipient).push({
sender: req.sender
}));
}