$interval
'u kullanarak düzenli aralıklarla veriyi sunucudan aldığım bir demo hazırlıyorum Şimdi bunu durdurmam/iptal etmem gerekiyor.Açısallarda timeInterval nasıl temizlenir veya durdurulur?
Bunu nasıl başarabilirim? İşlemi yeniden başlatmam gerekirse, bunu nasıl yapmalıyım?
İkincisi, bir sorum daha var: Zaman aralıklarının ardından sunucudan veri alıyorum. $scope.apply
veya $scope.watch
'u kullanmaya gerek var mı?
app.controller('departureContrl',function($scope,test, $interval){
setData();
$interval(setData, 1000*30);
function setData(){
$scope.loading=true;
test.stationDashBoard(function(data){
console.log(data);
$scope.data=data.data;
$scope.loading=false;
//alert(data);
},function(error){
alert('error')
}) ;
}
});
http://plnkr.co/edit/ly43m5?p=preview
@thanks uygulamak eklemek veya i zaman – user944513
Hayır hizmet reqular aralıklarla veri alınırken am ne zaman izlemek için herhangi bir ihtiyaç var ..is '$ interval' hizmetini kullanıyorsanız, 'apply()' işlevini kullanmanıza gerek yoktur, çünkü bunu sizin için yapar. Ancak yerleşik 'setInterval()' kullanıyorsanız, '$ scope. $ Apply()' kullanmanız gerekebilir. – ryeballar
Çok iyi bir çözüm. "$ Destroy", "http-auth-interceptor" ile birlikte iyi çalışır, benim durumumda olduğu gibi, hatayı auth hatası sırasında (süresi dolmuş oturumda) durdurmak ve başarılı bir şekilde auth sonra tekrar başlatmak istiyorum. Bu mükemmel çözüm için teşekkür ederiz. – Neel