我从各种各样的听众那里听到,如果你的手表对你的应用程序的性能是危险的.我想知道是否有人比较了在AngularJS应用程序中Rxjs’Observable与$watch的性能.我知道Observables将是Angular 2的一部分.
观察变化的两个机制本质上是不同的.
$手表是一种强力,拉式机制.观察者在发生任何变化后,活动状态(通常)需要访问每个观察到的对象/表达.当然,观察整个过程越慢越好.
Observable实现了基于推送的机制.观察者是被动的,当事情发生变化时得到通知.正确实施它可以更加智能地传播变化.
从我所知道的,使用角度2.0中的Observables是可选的,但建议.此外,角度2.0将实现类似于flux的单向数据流.数据更改仅在DOM中向下传播 – 组件可以直接观察/依赖于其祖先的数据,而不是其后代.改变之后,保证只有一些DOM的子树需要更新.在大多数情况下,这个子树将比整个DOM小得多.
从2015年起,有a great video ng-conf基准角1.x,反应和角度2.0. (不知道如果它使用Observables)
Observable的最后一件事:它提供了比上述描述更多的方式,它是处理异步事件的好方法.