我一直在开发一个允许多人同时修改数据并自动实时传播更改的应用程序。在这样做的过程中,出现了一些关于 $watch 本质的问题。
其中之一是:
如果在 watch 调用过程中被监视的数据模型发生了变化,会发生什么?
从一些实验结果来看,我相信手表会同时再次被调用。我相信一些无限的摘要循环是由这个引起的。
另一个与手表无关的值得注意的问题是:
阻止客户端等待执行承诺的最佳方法是什么?
任何关于 Angular RT Web 开发的资源也会很棒!
我一直在开发一个允许多人同时修改数据并自动实时传播更改的应用程序。在这样做的过程中,出现了一些关于 $watch 本质的问题。
其中之一是:
如果在 watch 调用过程中被监视的数据模型发生了变化,会发生什么?
从一些实验结果来看,我相信手表会同时再次被调用。我相信一些无限的摘要循环是由这个引起的。
另一个与手表无关的值得注意的问题是:
阻止客户端等待执行承诺的最佳方法是什么?
任何关于 Angular RT Web 开发的资源也会很棒!
对于您的第一个问题,我建议在开发人员指南中阅读 Angular 的运行时概念。基本上,数据在$digest
阶段进行时可能会发生变化是很自然的,因为多个$watchers
可能会修改它。这里的问题是 angular 期望模型在 10 次迭代中稳定,否则会抛出Maximum iteration limit exceeded.
错误,但您可以增加此限制。
现在第二个问题有点矛盾——promise 的全部意义在于在异步执行某些内容时不阻塞客户端。通常你会做异步操作,获得承诺并连接一个回调,以便在异步操作完成后执行。
您是否研究过 Firebase 和 Angular 火灾? http://angularfire.com/
我对此很陌生,但它似乎是实时应用 atm 的最佳选择。