gpt4 book ai didi

angularjs - 使用 $timeout 每 x 次刷新范围

转载 作者:行者123 更新时间:2023-12-04 01:29:12 26 4
gpt4 key购买 nike

我是 Angular 的新手。我想在几分钟后使用 $timeout of angular 来刷新范围。我正在开发一个社交应用程序,几分钟后我需要刷新通知范围。使用服务从 http 请求中获取通知。

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;
});

}

现在我怎样才能在几分钟后发出 http 请求让我们说 1 分钟并刷新通知范围。我尝试使用 $timeout 但事情不正常。

最佳答案

但我建议移动 $interval到 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
var theInterval = $interval(function(){
this.loadNotifications();
}.bind(this), 10000);

$scope.$on('$destroy', function () {
$interval.cancel(theInterval)
});

//invoke initialy
this.loadNotifications();
}

这似乎是一个更好的架构。

传递、解决或拒绝 promise 将 $digest范围。
您希望每 x 毫秒获取一次通知并将它们传递到作用域中。

关于angularjs - 使用 $timeout 每 x 次刷新范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com