阻止传播的JavaScript承诺

时间:2014-11-30 22:03:18

标签: javascript angularjs promise angular-promise

想象一下,我有一个类似下面的承诺链。如果调用func2,我想避免完全调用func3或func4。

AsyncFunction()
.then(func1, func2)
.then(func3, func4)

目前,如果我在func2中抛出错误,将调用func4。如果我在func2中返回一个值,似乎会调用func3。

我正在使用Angular $ q。

1 个答案:

答案 0 :(得分:3)

使用嵌套进行分支控制流程。在你的情况下,它看起来像这样:

AsyncFunction().then(function(res) {
    return func1(res).then(func3, func4);
}, func2);