javascript - AngularJS 工厂返回 State 对象而不是来自 Promise 的 JSON 数据

标签 javascript angularjs json angular-promise

我创建了两个工厂,并从第二个工厂调用第一个工厂,在 Controller 中使用第二个工厂,但我不是以 JSON 形式获取数据,而是以 $$State 形式获取数据。 我是 angularJS 的新手,尝试了很多方法但无法解决,请帮忙。

 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);

响应如下代码片段

Response

最佳答案

您应该使用 .then 函数来获取响应。相反,我想说你不需要创建额外的 promise ,它是一种反模式。您可以直接利用 doGetCall 方法返回的 promise 。

app.factory('userDetails', ['APIService', '$q', function(APIService, $q) {
  getDetails: function() {
    var getFunc = function() {
      return APIService.doGetCall('Masters/employee/username/tarun');
    }
    var a = getFunc();
    return a;
  }
}]);

vm.user = userDetails.getDetails().then(function(response){
    console.log(response.data);
    vm.user = response.data;
    console.log("user", vm.user);
}, function(error){
    console.log(error)
}).catch(exceptionHandler);

关于javascript - AngularJS 工厂返回 State 对象而不是来自 Promise 的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39654836/

相关文章:

javascript - Facebook react : Invariant Violation and elements than didn't mount automatically

javascript - 无法使用请求中的自定义 header 跨域加载 Angular 模板

javascript - 轨迹球控件从何而来?

javascript - 如何将 Canvas 转换为图像?

javascript - Vuejs 类绑定(bind)和类插值

javascript - 如何动态地将数据插入 ionic 滑动框Angularjs Ionic

javascript - AngularJS 和 Protractor - 在元素 .isDisplayed() 时执行 .click()

json - Microsoft Graph Explorer 中返回不同的用户对象

android - 如何解析来自服务器的android中的多个Json数据

java - 当嵌套 JSON 中出现相同字段名称时,将 JSON 解析为 java 对象