我有$interval
调用了一定次数。
当间隔运行完毕后,我想让它调用最终的重置功能。我怎样才能做到这一点?
即。
$scope.clickme = function() {
var i = 0;
function lerp() {
alert(i++);
}
function fin(){ //how do I call this function?
alert ("all done!")
}
$interval(lerp, 500, 5);
};
JSFiddle:http://jsfiddle.net/h4cn32e6/1/
答案 0 :(得分:3)
注册间隔函数的返回值是一个承诺。该承诺将在间隔的每个滴答时得到通知,并将在计数迭代后解析
所以:
$interval(lerp, 500, 5).then(fin);
答案 1 :(得分:0)
$interval
返回一个promise,它将在完成所有迭代的执行后解析。
只需使用promise.then
执行最终任务..
$scope.clickme = function() {
var i = 0;
function lerp() {
alert(i++);
}
function fin(){
alert ("all done!")
}
var promise = $interval(lerp, 500, 5);
promise.then(fin);
};