为什么我们应该在Angular中的map()上使用subscribe()?

前端之家收集整理的这篇文章主要介绍了为什么我们应该在Angular中的map()上使用subscribe()?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图利用angular2中的observables,并对为什么我应该使用map()而不是subscribe()感到困惑.
假设我从webApi获取值,就像这样
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')

现在使用subscribe(成功,错误,完成)我可以获得成功回调的所有值,我可以返回完整回调的值.如果我可以完成所有这些功能,那么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 => {        
    },() => {           
});
如果要返回一个Observable,其他一些代码可以订阅,但是您仍然希望在当前方法中操作数据事件,请使用map.

observable的实际用户需要subscribe(),因为没有subscribe(),observable根本不会被执行. (forEach()或toArray()以及其他可能也可以执行observable而不是subscribe())

subscribe()返回无法订阅订阅,但可用于取消订阅.

map()返回一个可以订阅的Observable.

猜你在找的Angularjs相关文章