AngularJS使用WebSocket在服务器之间进行通信以自动重新加载

时间:2019-05-20 20:00:38

标签: angularjs angularjs-service

我想做一些事情,如果在我的数据库字段中发生任何删除/获取/发布/放置操作,这些更改也应该反映在客户端而不刷新。

我的意思是,当发生任何更改时,服务器应向客户端发送警报以自动刷新或重新加载页面。

我通过$interval完成了这种工作,但是我知道这不是一个好习惯。所以我不想达到这个目的。

我想用websocket或其他一些好的方法来实现这一目标,但是却不知道如何实现。

您在这里找到用$interval解决的当前代码段:

app.controller('crudCtrl', function($scope, $http) {

  $scope.getAllContact = function() {
    var data = $http.get("http://127.0.0.1:8000/api/v1/contact/")
    .then(function(response) {
      $scope.contacts = response.data;
      $scope.getAllContact();
      $interval($scope.getAllContact, 10000);
    }, function(response) {
      $scope.getAllContact();
      $interval($scope.getAllContact, 10000);
    });
  };
  $scope.getAllContact();

以上代码片段每毫秒都可以很好地刷新页面,但这不是一个好习惯,因为,它也受到GET请求的影响而到达数据库。

所以我想用websocket或其他任何好的方法来实现这一点

但是我不知道怎么做以及在哪里。

有人可以解决我这个问题吗?

可选:在我的数据库中,有四个字段userid, name, email, phone,因此,如果此字段中的任何一个被编辑/删除/添加或发生任何更改,我想自动刷新页面

0 个答案:

没有答案