升级到Angular 6-Rxjs 6破坏了HttpPost

时间:2018-07-20 04:30:03

标签: angular rxjs angular6 angular-httpclient rxjs6

传统上,httpService.post(URL,有效负载,选项)返回一个Observable<T>,可以在订阅中轻松访问它。例如,在下面的示例中,帖子将返回Observable<string>,可以很容易地将其用作

this.httpClientService.post<string>(url, payload, options)
.subscribe(x=> console.log(x));

但是现在,升级之后,返回类型已更改为Observable<HttpEvent<string>>,从而引发错误

'Observable<HttpEvent<{}>>' is not assignable to type 'Observable<string>'

使用我的旧代码。

有人可以帮我解析一下新的Observable<HttpEvent<T>>

2 个答案:

答案 0 :(得分:0)

您的rxjs版本是什么? 随着Angular 6的升级,我猜rxjs的版本也会更新,从rxjs的导入也会更新。 您可以使用rxjs-compat来实现向后兼容性,从而无需更改导入和语法。

答案 1 :(得分:0)

将帖子类型更改为<any>,希望这可以解决问题 。您的可观察值返回了object,而您正在尝试将其分配给string

this.httpClientService.post<any>(url, payload, options)
.subscribe(x=>{
     console.log(x)
})