首页 > 解决方案 > Angular 中使用 Http 的 Observable 的好处

问题描述

从这里:https ://stackoverflow.com/a/40135509/462608

首先,这个答案描述了 Observables 如何有助于防止对服务器的相同重复请求,以及我们如何在多个请求之间暂停,以免服务器过载。

他们说:

就我在 Angular 中使用 Http 而言,我同意在正常用例中使用 Observable 而不是 Promise 并没有太大区别。在实践中,这些优点都不是真正相关的。希望我将来能看到一些高级用例:)

我在这里的理解是,当使用 Http 时,Observables 的好处并不真正相关。

为什么呢?在这种情况下 Http 起什么作用呢?
我必须研究什么主题才能理解 Http 在这里的作用?

标签: angularhttprxjsobservableangular-promise

解决方案


Angular 是基于 RxJs 构建的。像 EventEmitter 这样的异步函数是 RxJs 的 observables,forms。RxJs 非常适合异步功能。看到 Angular 在构建提供 http 功能的服务时构建在 RxJs 之上,开发人员将选择 RxJs。当我们使用 RxJs 构建异步应用程序时,我们不会将它与 Promise 混合使用。

当您只考虑发送请求并获得响应时,看起来可能没有太多好处,但是一旦您开始使用 RxJs 并了解它所点击的所有 RX 运算符。

在学习 Angular 之前学习 RxJs 将使你成为更好的 Angular 开发人员。我希望几年前有人告诉我这一点,因为如果我花一些时间学习 RX 功能,我在早期编写的应用程序(我没有完全了解 RxJs)会完全不同。

如果您使用可观察对象,异步管道也是另一个很棒的工具,它也可以与 Promise 一起使用,但这意味着您可以直接在模板中使用可观察对象,而无需在代码中管理订阅。


推荐阅读