【问题标题】:Returned object by function is empty [duplicate]函数返回的对象为空[重复]
【发布时间】:2018-02-09 17:29:51
【问题描述】:

我想返回带有一些数据的对象,但是当我尝试返回“doc”变量时,这个变量是空对象。

这是我的代码:

myApp.factory('serviceDocuments', function serviceDocuments($http) {
    var doc = {};
    return {
        getDocument: function (data) {
            $http({
                method: 'POST',
                url: '/getDocument',
                data: data
            }).then(function successCallback(response) {
                doc = response.data[0];
                // in this place doc variable has needed data
            }, function errorCallback(response) {
                console.log("ups... ;(");
            });
            // in this place doc variable is empty object
            return doc;
        }
    };
});

【问题讨论】:

  • 这就是异步调用的工作方式。您订购了外送披萨,并在按下提交按钮后尝试吃它。
  • @epascarello 。很好的比喻。

标签: javascript http single-page-application factory


【解决方案1】:

您的代码是异步的。 return doc 行在您的 http 调用 (doc = response.data[0]) 的回调之前调用。

【讨论】:

  • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
  • 你在说什么@7urkm3n,他是对的。 OP的问题如上所述。
猜你喜欢
  • 1970-01-01
  • 2020-03-06
  • 2017-06-28
  • 2019-09-04
  • 2021-03-27
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多