[英]Error in Angular and RXJS promise
我正在将Angular应用程序从2升级到4,并且遇到以下错误:
Type 'Promise<void | Store>' is not assignable to type 'Promise<Store>'.
输入“ void | 商店”不能分配给“商店”类型。 类型“无效”不能分配给类型“存储”。
有问题的行是这样的:
return this.http.get(url, { headers: this.headers })
.toPromise()
.then(response => response.json().data as Store)
.catch((err) => { console.log('An error occurred under StoreService.StoreGetById', err); });
这在我升级之前已经奏效,而且我对RxJS还是很陌生。
承诺拒绝被自动记录-如Cartant的注释所解释-通过.catch
引起错误的错误| Void
| Void
当JavaScript函数不返回任何内容时,默认情况下它不会返回undefined
的-因此,您的承诺是针对商店(来自then
)或void(来自catch
)。
IMO的正确解决方案是完全删除.catch
子句,并.catch
依靠自动将拒绝承诺记录到控制台。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.