加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 08:01:28 所属栏目:安全 来源:网络整理
导读:我试图利用angular2中的observables,并对为什么我应该使用map()而不是subscribe()感到困惑. 假设我从webApi获取值,就像这样 this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry') 现在使用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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读