我有一个调用数据服务的控制器,我肯定会返回数据,因为当我在调用数据服务的函数中记录它时,我看到返回的数据但是当我在我的范围内使用该变量时它是空的
代码
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;
}
}
请帮忙,也许我错过了什么。
在这种情况下,问题是数据只能在调用数据服务的函数内访问,并且不能分配给全局变量,以免返回未定义/空值