javascript - “PromiseLike”类型不存在属性“catch”'在离子
问题描述
嗨,我有以下我正在尝试使用的方法
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;
}
但是我的视觉工作室代码给了我以下错误
Property 'catch' does not exist on type 'PromiseLike<void>'
我正在使用 ionic 来编译这个程序,我不确定如何更正这个方法。我的教程在 ionic 3 中,所以它可能很旧,我不确定如何更改它以适应新版本。
解决方案
避免Promise
构造函数反模式!要将某些东西从类似承诺的东西转换为真正的承诺,只需使用Promise.resolve
:
sendrequest(req: connreq) {
return Promise.resolve(this.firereq.child(req.recipient).push({
sender: req.sender
}));
}
推荐阅读
- c# - Xamarin 仅在 iOS 上形成 Realm Platform 用户登录异常
- list - 如何在列表中找到不常见的项目(互斥)
- java - 后台服务偶尔崩溃
- google-chrome - Chrome HAR 文件大小限制
- python - Shell脚本到python脚本的转换
- javascript - 提交表单后我无法 console.log() 用户详细信息?
- json - 为每条记录解析一个带有 FOR 循环的 JSON 列?
- c++ - mpi 应用程序无法连接到 smpd 管理器 (null):55846 错误 1722
- vbscript - 自动打印文件夹中的文档
- node.js - 在共享主机上为 Laravel 安装 node.js