链接角$ timeout

时间:2014-03-21 23:04:08

标签: javascript angularjs timeout promise

我试图将调用链接到AngularJS的$timeout函数。我在这里看到很多线程允许链接承诺,一些特别使用角度$q,但这似乎应该是超级简单的。我想我错过了一些明显的东西。这就是我喜欢做的事情:

$timeout(firstFunction, firstDelay)
.then($timeout(secondFunction, secondDelay))
.then($timeout(thirdFunction, thirdDelay));

当调用所有三个函数时,$timeout都会同时启动。我可以看出为什么这不起作用,但如何我能得到我想要的东西?我甚至可以在这里使用承诺吗?我以前只是安排延迟,以便他们级联,但这似乎更需要维护...

1 个答案:

答案 0 :(得分:14)

$timeout正在立即执行。将它们包装在每个promise解析时将被调用的函数中......

$timeout(firstFunction, firstDelay)
    .then(function () { return $timeout(secondFunction, secondDelay); })
    .then(function () { return $timeout(thirdFunction, thirdDelay); });