可以承诺机制替换Angular中的事件系统

时间:2014-03-08 17:56:53

标签: javascript angularjs

我们都知道事件系统对于每个流行的JavaScript框架都非常重要,许多着名的框架也提供了Jquery,DoJo等承诺机制。

但AngularJS很特别:

  1. 它提供了承诺方法。
  2. 它为使用JqLite的DOM元素提供事件方法,为$ scope提供$ emit / $ broadcast的事件方法。似乎Angular建议在使用中使用手表。
  3. 我的问题是服务的数据模型是:

    1. 一个非常庞大的列表,因此很难看
    2. 由许多其他控制器或指令共享,所以承诺似乎不够。
    3. 那么,我可以使用事件机制让服务广播其数据变化吗?或者还有其他更好的解决方案。

1 个答案:

答案 0 :(得分:1)

  

可以承诺机制替换事件系统

一般来说,不。承诺每个定义只解决一次,之后不会改变它们的价值。如果你想发出多个事件,你就不能使用promises(或者只是非常难以理解)。