【问题标题】:Chaining angular $timeout链接角度 $timeout
【发布时间】:2014-04-29 13:05:22
【问题描述】:

我正在尝试将调用链接到 AngularJS 的 $timeout 函数。我在这里看到了很多允许链接承诺的线程,其中一些专门使用 angular 的$q,但这看起来应该非常简单。我想我错过了一些明显的东西。这是我喜欢要做的事情:

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

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

【问题讨论】:

    标签: javascript angularjs timeout promise


    【解决方案1】:

    $timeouts 正在立即执行。将它们包装在每个 Promise 解决时将调用的函数中......

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

    【讨论】:

    • 谢谢!只有一件事,thens 都被同时调用。内部函数必须返回 $timeout(...).
    • 是的,链式承诺必须返回
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多