我的代码中有以下段,我知道$ q.when将解析具有给定值的promise并且永远不会被拒绝。在我的例子中,我将布尔值true或false传递给该段,我可以看到在成功回调函数后执行错误回调函数。 在Nutshell中,一旦将值(true / false)传递给'when',首先在$ q.when执行一次,然后执行该部分。
我的问题是为什么在成功解析后它的调用错误回调函数?
$q.when(true/false)
.then(function(data) {
if (data) {
return doSave();
}
})
.then(function() {
goNextPage();
});
答案 0 :(得分:1)
使用.catch()进行错误回调。 .then()是成功的回调。您添加了两个成功回调。