2016-04-28 91 views
0

我在我的代碼中有下面的段,我知道$ q.when將用給定的值解決承諾,永遠不會被拒絕。在我的情況下,我將布爾值true或false傳遞給這個段,我可以看到成功回調函數後執行錯誤回調函數。 總而言之,一旦值(真/假)傳遞給'when'時,首先在$ q.when被執行一次後執行下一個執行部分。

我的問題是爲什麼它成功解決後調用錯誤回調函數?

$q.when(true/false) 
     .then(function(data) { 
      if (data) { 
       return doSave(); 
      } 
     }) 
     .then(function() { 
      goNextPage(); 
     }); 
+0

你的錯誤回調在哪裏?這兩個「然後」陳述如何處理你的問題? – smnbbrv

回答

1

使用.catch()作爲錯誤回調。 .then()是成功回調。您已添加兩個成功回調。