回调$ interval函数

时间:2015-04-17 03:00:06

标签: javascript angularjs settimeout

如何在runAfterLoopFinishes()完成后确保函数$interval运行?现在它在首次定义循环后立即运行。

var loop = $interval(function () {
  // Do something great 10 times
}, 1000, 10);

// To run after looping
runAfterLoopFinishes();

2 个答案:

答案 0 :(得分:9)

$interval会返回一个承诺。

var loop = $interval(function () {
  // Do something great 10 times
}, 1000, 10);

loop.then(function(){
  // To run after looping
  runAfterLoopFinishes();
}

每次迭代后都会通知$interval承诺,但只能在最后一次之后解决。

答案 1 :(得分:-1)

如果你想确保函数b在函数b之后运行,async将有助于控制它。

async.series([
    function(callback){     // function a
        // do some stuff ...
        callback(null, 'one');
    },
    function(callback){     // function b
        // do some more stuff ...
        callback(null, 'two');
    }
],
function(err, results){
                            // results 
});