返回的服务数据未定义但仍返回数据

时间:2016-06-27 08:17:26

标签: javascript angularjs

我有一个调用数据服务的控制器,我肯定会返回数据,因为当我在调用数据服务的函数中记录它时,我看到返回的数据但是当我在我的范围内使用该变量时它是空的

代码

console.log("This is the Plans view controller");
var vm = this;
vm.schemes = [];
getScheme();
console.log(vm.schemes);
getCategoryBenefits();
vm.createPlan = createPlan;

function getScheme() {

    return insurer.getSchemes()
        .then(function(response) {
            //console.log(response);
            vm.schemes = response;
            return vm.schemes;
        });
};

console.log(vm.schemes); //This is logged in console as []

这是服务代码

        function getSchemes(){
            return $http.get(urlBase + 'plans/schemes/')
                .then(getSchemeComplete)
                .catch(getSchemeFailed);

                function getSchemeComplete (response) {
                    return response.data;
                }

                function getSchemeFailed (error) {
                    return error;
                }
        }

请帮忙,也许我错过了什么。

在这种情况下,问题是数据只能在调用数据服务的函数内访问,并且不能分配给全局变量,以免返回未定义/空值

0 个答案:

没有答案