升级至Angular 6-Rxjs 6断开HttpPost

升级至Angular 6-Rxjs 6断开HttpPost,angular,rxjs,angular6,angular-httpclient,rxjs6,Angular,Rxjs,Angular6,Angular Httpclient,Rxjs6,传统上,httpService.post(url、有效负载、选项)返回一个可观察的,可以在订阅中轻松访问它。例如,在下面的示例中,post将返回一个可观察的,它可以很容易地用作 this.httpClientService.post<string>(url, payload, options) .subscribe(x=> console.log(x)); this.httpClientService.post(url、有效负载、选项) .subscribe(x=>conso

传统上,httpService.post(url、有效负载、选项)返回一个
可观察的
,可以在订阅中轻松访问它。例如,在下面的示例中,post将返回一个
可观察的
,它可以很容易地用作

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

this.httpClientService.post(url、有效负载、选项)
.subscribe(x=>console.log(x));
但是现在,升级后,返回类型已更改为
Observable
,这会抛出错误

'Observable<HttpEvent<{}>>' is not assignable to type 'Observable<string>'
“可观察”不可分配给类型“可观察”
在我的旧代码中

有人能帮我解析这个新的
可观察的

你的rxjs版本是什么? 随着Angular 6的升级,我想rxjs版本也会更新,从rxjs导入的内容也会更新。
您可以使用以实现向后兼容性,这样就不需要更改导入和语法。

将post类型更改为
,希望这能解决问题 . 您的可观察对象返回了
对象
,您正试图将其分配给
字符串

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

this.httpClientService.post(url、有效负载、选项)
.订阅(x=>{
console.log(x)
})

this.httpClientService.post(url、有效负载、选项).subscribe(x=>{console.log(x)})
尝试将代码更改为此格式这与角度httpclient服务有关,而不是rxjs我相信你是对的!我在下面阅读了您的评论,正如您所提到的——“http post具有‘观察’和‘响应类型’设置”,因此这意味着您正在侦听http事件类型,例如发送请求时或收到响应时。您可以像这样将Observe设置为response{Observe:'response'}或删除Observe属性,因此默认情况下它将返回响应而不是Http事件类型默认情况下,我将其更改为bodyFound this,默认情况下,HttpClient返回响应的主体HttpPost中的options参数具有“observe”和“responsetype”设置,可能与此有关