我有一个应用程序,$ digest周期大约需要5毫秒,我在我的应用程序中使用$q.defer
和deferred.notify
很多。问题是,每次调用deferred.notify
时,都会安排一个摘要周期,并导致角度运行5ms。
因此,当我从服务器获取数千行数据时(通过WebSocket,逐个接收数据),应用程序可以使用100%的CPU并且变得非常无响应。我对这些数据的唯一做法就是将它们保存到IndexedDB中。
有没有办法使用$q
和notify
而无需安排$ digest周期?
我正在考虑为WebSocket和IndexedDB相关代码使用不同的promise实现,但我不喜欢有两个promise实现的想法,并且几乎不可能知道在很长时间后将返回哪种承诺链