我想在函数外部获取数据。
这是我的控制器代码:
vm.someVar = "";
selfprofileSrvc.GetPrfInfo(memId,function (response, status) {
vm.someVar = response;
alert(vm.someVar);
});
服务:
Service:
this.GetPrfInfo = function (memberId, funCallBack) {
$http({
method: "GET",
url: "http://my.com/api/profile/GetProfileInfo/" + memberId,
}).success(function (response, status) {
funCallBack(response, status);
}).error(function (reason, status) {
alert("Something went wrong!");
});
}
在上面的代码中,当警报处于运行状态但数据外部为空时,我将获取数据。
答案 0 :(得分:0)
这是因为您试图在函数返回之前调用vm.someVar
。由于selfprofileSrvc.GetPrfInfo
是一个异步调用,所以它无法获取值,它只在异步调用后获取值。
因此,只有在vm.someVar
调用完成后才尝试使用asynchronous
。