如何使用HttpClient而不是Http在我的服务中执行此调用的等效操作? HttpClient没有map()调用。
loadObservations() {
this.http.get(`${BASE_URL}${1000}`)
.map(res => res.json())
.map(payload => ({ type: 'ADD_OBSERVATIONS', payload }))
.subscribe(action => this.store.dispatch(action));
}
答案 0 :(得分:0)
.map
实际上是Observable
的方法,它来自RxJS
(一个用于反应式编程的库,内部由Angular使用)。
由于HttpClient
的{{1}}方法返回get
,这意味着您可以对其应用Observable
运算符。 map
(与HttpClient
中已弃用的Http
不同)为您提取响应为JSON,因此您发布的代码段中唯一更改的是您应删除HttpModule
。它会因为从JSON字符串反序列化接收的对象而中断,因此不包含您尝试调用的自定义函数res => res.json()
。