ExpressJS / AngularJS - 从Express向$ http.get()发送进度消息

时间:2015-08-29 07:35:17

标签: javascript angularjs node.js express socket.io

我的ExpressJS应用程序使用各种AP​​I来解析数据,其中一些可能需要很长时间。我想发送"更新消息"在这种情况下进入浏览器,以便用户知道正在发生进展。

我有一个简单的测试应用程序,设置如下:

api.js

exports.test = function(req,res){
  var i = 0;
  setInterval(function(id){
    i++;
    res.write("We're " + i + "/100th of the way there!")

    if(i === 100){
      res.send(200);
      clearInterval(id);
    }
  }, 200)

}

在我看来:

<h1>{{httpMessage}}</h1>

在我的Angular控制器中:

controller('testCtrl', function ($scope, $http) {
  $http.get('/api/test').then(function(data){
      $scope.httpMessage = data;
  });
})

这不起作用,大概是因为Angular的$http模块正在发送请求,并在then()回调函数之前等待一个成功响应。

那怎么能实现呢?某种socket.io整合?

0 个答案:

没有答案