我的ExpressJS
应用程序使用各种API来解析数据,其中一些可能需要很长时间。我想发送"更新消息"在这种情况下进入浏览器,以便用户知道正在发生进展。
我有一个简单的测试应用程序,设置如下:
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
整合?