Как я понимаю из вашего вопроса, у вас есть страница, где один раздел зависит от другого раздела и т. Д. и все эти разделы обслуживаются/обрабатываются по-другому запросу-2.
В этом случае вы можете сделать второй запрос HTTP от успешного/разрешенного обратного вызова первого запроса HTTP и так далее. например
servicePOST.send(appConstants.BASE_MS_URL + 'Dcrs/activityDay.php',{
"date":d
}).then(function(result) {
$scope.dcrlocked = result.dcrlocked;
$scope.leaves = result.leaves;
//$scope.holidays = result.holidays;
//make another http request as below.
servicePOST2.send(url,{data or data from last request}).then(function(){
// make another http request. and so on.
})
});
Поскольку все запросы HTTP делаются из успеха обратного вызова запроса последнего HTTP, он будет гарантировать последовательные запросы HTTP.
EDIT
вы можете использовать $promise
в вашей второй функции, где вы звоните запрос пост. например
var deferred = $q.defer();
servicePOST.send(appConstants.BASE_MS_URL + 'Dcrs/activityDay.php',{
"date":d
}).then(function(result) {
$scope.dcrlocked = result.dcrlocked;
$scope.leaves = result.leaves;
//$scope.holidays = result.holidays;
deferred.resolve(result);
});
return deferred; // return deferred from your function.
Не забудьте ввести $ q в контроллер и передать его второй функции. Это заставит функцию post возвращаться синхронно. Дайте мне знать, если это то, что вы ищете.
Вы должны посмотреть на использование обещаний: http://www.dwmkerr.com/promises-in-angularjs-the-definitive-guide/ –
hmmm ... я пришел к обещаниям ... теперь я запутался, чтобы реализовать код в моем вопросе с обещаниями ... любая помощь будет оценена –
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (http://stackoverflow.com/questions/14220321/how-do-i- return-the-response-from-a-асинхронный вызов) –