gpt4 book ai didi

angular - 为什么我们应该在 Angular 中使用 subscribe() 而不是 map()?

转载 作者:太空狗 更新时间:2023-10-29 16:47:13 25 4
gpt4 key购买 nike

我正在尝试利用 angular2 中的 observables,但对为什么我应该使用 map() 而不是 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 .

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

subscribe()返回 Subscription不能订阅,但可以取消订阅。

map()返回 Observable可以订阅。

关于angular - 为什么我们应该在 Angular 中使用 subscribe() 而不是 map()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com