Lij*_*raj 50 observable rxjs typescript angular angular-observable
我想利用在angular2观测和糊涂了,为什么我应该使用map()
过subscribe()
.假设我从webApi获取值,就像这样
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
Run Code Online (Sandbox Code Playgroud)
现在使用subscribe(success, error, complete)
我可以获得成功回调的所有值,我可以返回完整回调的值.如果我可以做所有这些功能,那么需要map()
什么?它有什么优势吗?
简而言之,为什么人们应该这样写:
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
.map(r=>{})
.subscribe(value => {
}, error => error, () => {
});
Run Code Online (Sandbox Code Playgroud)
当他们可以简单地写这个没有map函数:
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
.subscribe(value => {
}, error => error, () => {
});
Run Code Online (Sandbox Code Playgroud)
Gün*_*uer 80
如果要返回Observable
一些其他可以订阅的代码,但是您仍然希望在当前方法中操纵数据事件,请使用map
.
observable的实际用户需要subscribe()
,因为没有subscribe()
observable将根本不执行.(forEach()
或者toArray()
也许其他人也可以执行observable而不是subscribe()
)
subscribe()
返回Subscription
无法订阅的,但可用于取消订阅.
map()
返回Observable
可以订阅的.
A.T*_*.T. 32
将地图视为转换响应的中间件.
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
.map(r=>r.json())
.subscribe(result => {
// here result would have json object that was parsed by map handler...
},failurCallback,completeCallback)
Run Code Online (Sandbox Code Playgroud)
subscribe用于调用observable,请阅读关于cold-vs-hot-observables的好文档
Vad*_*imB 12
您需要subscribe
运行异步请求.如果你刚设置map
- 没有请求会触发.你可以检查一下.
map
用于预处理数据的良好做法,因为许多订阅者可以使用您的结果.因此,不是向每个客户端(订户)添加预处理,而是可以为所有客户端准备单个数据模式的单个输出.
归档时间: |
|
查看次数: |
64928 次 |
最近记录: |