使用$超时刷新每隔x时间范围 [英] Refresh scope on every x time using $timeout
问题描述
我是一个新手,棱角分明。我想用角$超时几分钟后刷新范围。我工作在一个社会的应用程序,我需要几分钟后刷新通知范围。使用服务获取从http请求通知。
I am a newbie to angular. I want to use $timeout of angular to refresh scope after few minutes. I am working on an social app where i need to refresh notification scope after few minutes. Getting notification from a http request using service.
JS:
App.factory('MyService' ,function($scope,$timeout){
return{
notification:return function(callback){
$timeout(function(){
$http.get("notification/get").success(callback)
},100000);
}
});
function Controller($scope,MyService){
MyService.notification(function(result){
$scope.notification =data;
});
}
现在我怎样才能让后几分钟let'say1分钟HTTP请求和刷新通知范围。我试着使用$超时,但事情并没有正常工作。
Now how can i make http request after few minutes let'say 1 minute and refresh notification scope. I tried using $timeout but things are not working fine.
推荐答案
不过,我会建议在 $间隔
移动到控制器。
But i would suggest to move the $interval
to the controller.
App.factory('MyService' ,function($scope,$timeout){
return{
notification: function(){
return $http.get("notification/get").success(function(response){
return response.data;
});
}
});
function Controller($scope,MyService,$interval){
/**
* Loads and populates the notifications
*/
this.loadNotifications = function (){
MyService.notification().then(function(data){
$scope.notification =data;
});
});
//Put in interval, first trigger after 10 seconds
$interval(function(){
this.loadNotifications();
}.bind(this), 10000);
//invoke initialy
this.loadNotifications();
}
这似乎是一个更好的体系结构那里。
This seems like a better architecture there.
传球,解决或拒绝承诺将以 $消化
的范围。
你想获得通知每隔x毫秒,并将其传递到范围。
Passing, resolving or rejecting promises will $digest
the scope.
You want to get the notifications every x milliseconds and pass them into the scope.
这篇关于使用$超时刷新每隔x时间范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!