在AngularJS中$interval用來處理間歇性處理一些事情。
最常用的是:
var app = angular.module("app",[]); app.controller("AppCtrl", function($q. $interval){ var timer = $interval(function(){ },100); timer.then(success); function success(){ console.log("done"); } })
以上,每隔100毫秒就做一件事,所有都做完再調用then函數。也就是,$interval提供了回調函數。
是否可以控制做事的次數呢?
--可以的。
var timer = $interval(function(){},100,10);
以上,最后一個實參10就是限制次數。
回調函數除了在所有事情結束后調用,還有什么其它回調函數?
--有的,還包括每次調用事件時的回調函數,和出現錯誤時的回調函數。
var timer = $interval(function(){},100, 10); timer.then(success, error, notify); function success(){ console.log("done"); } function error(){ console.log("error"); } function notify(){ console.log("每次都更新"); }
是否可以取消$interval服務呢?
--通過$interval.cancle(timer);
var timer = $interval(function(){},100, 10); this.cancel = function(){ $interval.cancel(timer); }
