我正在使用jQuery的承諾。如何在所有承諾解決後執行回調?
我有一個場景,我有兩個承諾。
如果promise1拒絕或解決,那麼system1應分別拒絕或解析。
如果promise2拒絕或解決,system2應該解決。
函數X應該在兩者都解決並且system1和system2都解決後調用。
我想:
var dp = $.when(promise1, promise2);
dp.done(function(one,two){
X();
}).fail(function(){
// promise1 might have not settled as of yet.
Should call X or not ?
});
但只要承諾的一個失敗返回。所以我的promise1在我的失敗被調用的時候沒有解決。
我該怎麼做?
您希望兩個承諾都能運行結果,並且在兩個完成後都想運行X()方法。這是你想要的嗎? –
@Basha請參閱編輯的問題。我真的想讓X被稱爲iff promise1已解決,但只有在兩個承諾都已解決之後。 –