按功能返回的对象为空

时间:2018-02-09 17:29:51

标签: javascript http single-page-application factory

我想要返回带有一些数据的对象,但是当我尝试返回'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;
        }
    };
});

1 个答案:

答案 0 :(得分:-1)

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