Angularjs:`$ applyAsync` vs` $ apply` with socket

时间:2015-07-30 08:56:56

标签: javascript angularjs

我使用套接字并从服务器获取大量消息。每个套接字消息都有一个处理程序,我在每个处理程序中调用$apply。如果会有很多消息,那么使用$applyAsync而不是$apply会更好地提高性能吗?如果有,为什么?经常调用$apply会使我的应用变慢。

1 个答案:

答案 0 :(得分:0)

除非您每4毫秒收到一条以上的邮件(现代浏览器中setTimeout的最低分辨率),否则您不太可能看到任何性能提升 - 事实上,您可能会发现性能会降低添加和触发的其他计时器的触摸。如果你确实收到了那么多邮件,那么你可能会发现它有所帮助,因为它会将处理一起批处理为一个摘要周期。

如果不确切地知道套接字的作用,很难提出一个可靠的建议,但是你可以聚合套接字正在接收的数据并消化每N个更新或限制摘要只发生在每500毫秒或类似的事情是什么?