我试图将调用链接到AngularJS的$timeout
函数。我在这里看到很多线程允许链接承诺,一些特别使用角度$q
,但这似乎应该是超级简单的。我想我错过了一些明显的东西。这就是我喜欢做的事情:
$timeout(firstFunction, firstDelay)
.then($timeout(secondFunction, secondDelay))
.then($timeout(thirdFunction, thirdDelay));
当调用所有三个函数时,$timeout
都会同时启动。我可以看出为什么这不起作用,但如何我能得到我想要的东西?我甚至可以在这里使用承诺吗?我以前只是安排延迟,以便他们级联,但这似乎更需要维护...
答案 0 :(得分:14)
$timeout
正在立即执行。将它们包装在每个promise解析时将被调用的函数中......
$timeout(firstFunction, firstDelay)
.then(function () { return $timeout(secondFunction, secondDelay); })
.then(function () { return $timeout(thirdFunction, thirdDelay); });