使用$超时刷新每隔x时间范围 [英] Refresh scope on every x time using $timeout

查看:175
本文介绍了使用$超时刷新每隔x时间范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个新手,棱角分明。我想用角$超时几分钟后刷新范围。我工作在一个社会的应用程序,我需要几分钟后刷新通知范围。使用服务获取从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆