2

我正在根据角度 1 重写应用程序到角度 2。在我的应用程序中有 websockets。每次当应用程序从 websocket 获取消息时,它都会运行zone.runTask(因为websocket.onmessage是异步函数),最后它会$digest从 angular1 更新圆。这是正常行为。但是应用程序每秒获得约 3000 条 websocket 消息,并以每秒 3000 次循环zonejs运行,$digest它会破坏性能直至冻结。

我想websocket.onmessagezonejs控制中排除,等到所有消息都被下载然后zonejs使用setTimeout函数运行。

所以我的问题是:有没有办法排除websocket.onmessage控制zonejs?或者如何在websocket.onmessage没有猴子修补的情况下恢复标准行为zonejs

4

1 回答 1

2

你可以试试runOutsideAngular你的 websocket 调用。

在此处阅读更多相关信息。

希望这可以帮助!!

于 2017-04-13T18:52:00.523 回答