【发布时间】:2016-06-20 22:59:31
【问题描述】:
我有一个 $digest 周期大约需要 5 毫秒的应用程序,我在我的应用程序中经常使用 $q.defer 和 deferred.notify。问题是每次调用deferred.notify 时,都会安排一个摘要周期,并导致角度运行5ms。
结果,当我从服务器获取几千行数据时(通过WebSocket,数据被一一接收),应用程序可以使用100%的CPU并且变得非常无响应。我对这些数据做的唯一事情就是将它们保存到 IndexedDB 中。
有什么方法可以在不安排 $digest 周期的情况下使用 $q 和 notify?
我正在考虑为 WebSocket 和 IndexedDB 相关代码使用不同的 Promise 实现,但我不喜欢有两个 Promise 实现的想法,而且几乎不可能知道在长链之后会返回哪种 Promise。
【问题讨论】:
标签: javascript angularjs angular-promise angularjs-digest