AngularJS UI滞后于套接字接收

时间:2018-04-17 10:04:12

标签: javascript angularjs socket.io

我的代码如下:

var vm = this;
vm.debugMessages = [];
socket.on("message", function (data) {

  $scope.$apply(function (err) {

    vm.message.push(data);
  });
});

每次我通过套接字收到消息时,它都会将新数据推送到数组。该数组在模板中显示为表格。不幸的是,每次新数据到达时UI都会滞后。此外,在视图中显示阵列的新内容之前需要花费一些时间。我该怎么办?

编辑:每秒最多有五条消息。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,并找到了适合我的解决方案。而是使用范围尝试处理rootScope并添加一点保护以防止角度摘要错误。 在socket.io消息事件中,首先将数据推送到数组并调用rootScope apply方法。您可以尝试这样的事情:if($ rootScope。$$ phase!=' $ apply'&& $ rootScope。$$ phase!=' $ digest')$ rootScope $申请();

别忘了注入$ rootScope依赖项。