【问题标题】:AngularJS UI lags on socket receiveAngularJS UI 滞后于套接字接收
【发布时间】:2018-04-17 10:04:11
【问题描述】:

我的代码如下:

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

  $scope.$apply(function (err) {

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

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

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

【问题讨论】:

    标签: javascript angularjs socket.io


    【解决方案1】:

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

    不要忘记注入 $rootScope 依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多