0
這篇文章擴展了以前已經解決的問題。請參閱以下內容:Nesting promises with $resources in AngularJS 1.0.7
考慮到這種方法,我想對函數進行並行調用,並在兩者都完成後,運行帶搜索結果的searchBoats函數。我想我可以嵌套承諾,但我也認爲它可以並行執行,也許可以使用$ q.all。不幸的是,這個承諾的話題讓我感到困惑,我不知道該怎麼做。
以以前的帖子例子,我想這樣做:
var parseURL = function() {
var deferred = $q.defer();
var promise = deferred.promise;
promise.then(function success(result) {
console.log(result);
searchBoats(result);
});
// Instead of resolve when parseBoatType promise is returned, I would like to
// wait for two promises
parseBoatType().then(deferred.resolve);
parseDestination().then(deferred.resolve);
// of course, with this code deferred will be resolved when first promise
// comes. Is it possible to use $q.all here?
};
parseURL();
我不明白,我向您展示瞭如何在第一個問題中使用'$ q.all()'。您需要在需要等待的任何函數中返回一個Promise,並給出'$ q.all()'這些函數調用返回的promise的數組,您需要等待。 – zero298