我试图利用angular2中的可观察对象,并对为什么要使用map()
over 感到困惑subscribe()
。假设我正在像这样从webApi获取值
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
现在,subscribe(success, error, complete)
我可以获取成功回调中的所有值,也可以返回完整回调中的值。如果我可以完成所有这些功能,那么需要map()
什么?有什么好处吗?
简而言之,为什么要这样写:
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
.map(r=>{})
.subscribe(value => {
}, error => error, () => {
});
当他们可以不用map函数简单地编写以下代码时:
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
.subscribe(value => {
}, error => error, () => {
});
如果要返回Observable
其他一些可以订阅的代码,但仍想在当前方法中操纵数据事件,请使用map
。
可观察对象的实际用户需要subscribe()
,因为没有subscribe()
可观察对象将根本不会执行。(forEach()
或者toArray()
可能其他人也可以执行而不是subscribe()
)
subscribe()
返回Subscription
无法订阅的,但可用于取消订阅。
map()
返回Observable
可以订阅的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句