【问题标题】:Object.observe withdrawal and RxJS and Angular 2Object.observe 退出和 RxJS 和 Angular 2
【发布时间】:2016-02-11 06:54:04
【问题描述】:

我有点困惑,因为Obejct.observe is said to be withdrawn from the ES2016

另一方面,talks on Angular Connect 提到他们将依赖它。

据我所知,Angular 2 并不直接依赖 Object.observe,而是依赖于使用 Object.observe 的 RxJS

能否请您帮助我了解此次退出的影响? 我也很困惑这将如何影响功能性反应式 JavaScript 开发。

对不起,如果这是个愚蠢的问题,但所有这些概念对我来说都是新的。

【问题讨论】:

  • Object.observeObservables 完全没有关系,名称可能会令人困惑,但它们甚至没有关系。
  • 你不是唯一一个感到困惑的人,看到这个issue,你有一个核心团队成员的答案。
  • 我认为 Angular 2 正在使用 Object.observe 和 polyfill docs.google.com/document/d/…

标签: angular rxjs frp object.observe


【解决方案1】:

RxJS 不依赖 Object.observe(而且 afaik 不打算在未来这样做),因为 RxJS 本身没有可观察对象的概念(尽管您可以创建具有可观察流作为值的对象)。

对于角度 Object.observe 本来是相关的,但我认为它还没有依赖它(或者至少不在 chrome 之外)。

无论如何,如果您需要可观察的对象,仍然可以使用 Mobservable 库,如blogpost 中所述。

【讨论】:

    【解决方案2】:

    仅供参考.... v4.1.0 在使用 Rx.Observable.ofObjectChanges(obj) 时确实对 Object.observe 有一些依赖...

    在 chrome 中自己测试,现在已经删除了对 OO 的支持,如果你使用这种方法创建一个 observable,你会得到一个 OO 错误。

    所以虽然是的,但在 RxJS 的上下文中,OO 与 Observables 无关,OO 在 4.1.0 中使用,这是当前稳定的,尚未在 5.XX 中实现(我猜延迟是由于切换到代理)。

    所以如果你想使用流和 Rx 模式那么没问题,如果你想使用 RxJS 来观察一个对象,对不起,你将不得不 polyfill Proxy 并使用它,因为 ofObjectChanges 已损坏 ATM 以实现 Chrome 稳定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2016-12-30
      • 2020-05-26
      • 1970-01-01
      • 2018-07-31
      • 2017-04-06
      • 1970-01-01
      相关资源
      最近更新 更多