Я хочу выполнить массив запросов бриза один за другим. Я использую Q.all для выполнения действия после того, как все запросы завершили его выполнение.
var promises = [];
promises.push(datacontext.breezeQuery(config.breezeEntity.Product));
promises.push(datacontext.breezeQuery(config.breezeEntity.Client));
Упомянутая выше функция breezeQuery возвращает несколько обещаний. Я не хочу, чтобы второй запрос выполнялся, пока не будут разрешены все обещания из первого запроса. Но я обнаружил, что при использовании Q.all(promises) второй запрос начинает выполняться, когда разрешается первое обещание из запроса 1.
Как я могу гарантировать, что второй запрос не начнет свое выполнение, пока не будут разрешены все промисы (Promise1 и Promise2) из первого запроса.
dc.breezeQuery = function(entity){
return Promise1().then(function(){
return Promise2().then(function(){
});
});
};
breezeQuery
есть только один операторreturn
. Другой операторreturn
находится в этой функции обратного вызова. Каждый возвращает только одно обещание. - person Bergi   schedule 10.02.2015