我仍然是相当新的承诺和使用蓝鸟目前,但我有一个情况下,我不太确定如何最好地处理它。
例如,我在一个快递应用程序中有一个承诺链,如下所示:
repository.Query(getAccountByIdQuery)
.catch(function(error){
res.status(404).send({ error: "No account found with this Id" });
})
.then(convertDocumentToModel)
.then(verifyOldPassword)
.catch(function(error) {
res.status(406).send({ OldPassword: error });
})
.then(changePassword)
.then(function(){
res.status(200).send();
})
.catch(function(error){
console.log(error);
res.status(500).send({ error: "Unable to change password" });
});
因此,我追求的行为是:
因此,目前抓住似乎不能停止链接,这是有意义的,所以我想知道是否有一种方法,我以某种方式迫使链停止在某一点的基础上的错误,或者是否有一个更好的方法来构造这一点,以获得某种形式的分支行为,有一个案例的 if X do Y else Z
。
任何帮助都可以。