У меня проблема с тем, что функция then
не вызывается ни на одном из моих контроллеров при выполнении нескольких синхронных вызовов http.
В приведенном ниже коде оператор console.log(data)
в моем контроллере не являетсябудучи выполненным, поскольку управление никогда не приходит к функции then
.
******************** файл контроллера
function MyController($scope, $location, $timeout) {
function submit($event) {
Myservice.getDetails(productid).then(function(data){
console.log(data)
});
}
angular.module('myModule')
.controller('MyController', MyController);
})(window.angular);
****************** MyService
(function (angular, mySecondService) {
'use strict';
function MyService($http, $q, $log, $location, mySecondService{
function getDetails(pId) {
byodCheckerData = [];
mySecondService.httpTkn().then(function(Tkn){
var request = {
method: 'GET',
url: 'getDetails',
headers: {auth: Tkn},
params: {Id:pId}
};
return $http(request).then(function(resp){
return resp;
})
})
};
return {
getDetails: getDetails;
}
angular.module('myModule')
.factory('MyService', MyService);
})(window.angular);
*********************************** MySecondservice
(function (angular) {
'use strict';
function mySecondService($log, $http, $q) {
var ts = this;
function httpTkn(){
defer = $q.defer();
var authReq = {
method: 'GET',
url: 'getTkn'
};
return $http(authReq).then(function (response) {
defer.resolve(response.data.tkn
return response.data.tkn;
},
function (error) {
return error;
});
};
ts.httpTkn = httpTkn;
}
angular.module('myModule')
.service('mySecondService', mySecondService);
})(angular);.