如何使用角度js和节点js每2秒发出一次请求?

时间:2017-11-13 12:37:00

标签: angularjs node.js ajax httprequest setinterval

我有一个用Nodejs编写的服务器来收集数据。我的客户端是用AngularJS编写的。我需要每两秒创建一次http请求到我的服务器(setInterval)并显示更新的数据。我的服务器全天候运行。如果达到最大值,chrome会阻止我的请求吗?我可以实现另一种方式,而不是从客户端创建请求,也许是从我的服务器推送?

某些请求的示例:

var indicesTimer = setInterval(getIndices,2000);
getIndices();


function getIndices(){  
  dataService.getIndices().then(function(res){
    $scope.recentIndeces = res.data;
  });
}

3 个答案:

答案 0 :(得分:0)

检查$interval服务。

  var stop = $interval(function() {
                 // Your code
             }, 100);

使用您的代码

var indicesTimer = $interval(getIndices,2000);
getIndices();


function getIndices(){  
  dataService.getIndices().then(function(res){
    $scope.recentIndeces = res.data;
  });
}

答案 1 :(得分:0)

您可以使用websocket。通过使用它,您的服务器可以通知您的客户端,以防服务器端发生更改,因此您不必进行轮询(轮询是您每隔x秒发送请求时所执行的操作)。看一下socket.io

答案 2 :(得分:0)

这是心跳的典型行为。 Chrome或任何其他浏览器不会阻止请求。 只要你的setInterval()处理程序不能永远运行,它就不会阻止其他事情最终运行。