Я сделал два завода и позвонил первым из второго, потребляя вторую фабрику в контроллере, но вместо того, чтобы получать данные как JSON, я получаю данные как состояние $$. Я новичок в angularJS пробовал много способов, но не смог решить, пожалуйста, помогите.Угловая фабрика, возвращающая объект State вместо данных JSON по обещанию
app.factory('userDetails', ['APIService', '$q', function (APIService, $q) {
getDetails: function() {
var deferred = $q.defer();
var getFunc = function() {
APIService.doGetCall('Masters/employee/username/tarun')
.then(
function (data)
{
deferred.resolve(data);
},
function (data, status, headers, config)
{
deferred.reject('There was an error creating object'); })
return deferred.promise;
}
var a = getFunc();
return a;
}
}
vm.user = userDetails.getDetails();
console.log("user",vm.user);
ответ согласно ниже фрагмент кода
Что вы имеете в виду? –
это означает, что функция getDetails должна возвращать обещание при вызове - обещание должно быть ** возвращено ** сначала, а затем после вызова API обещание может быть разрешено **. Как написано код, обещание возвращается ** только **, если вызов API не выполняется. – laney
возьмите код и отформатируйте его .. вы увидите, что он правильно, что OP –