我有一个服务,它公开了一些使用$ http
执行的实用程序方法// my service declaration
// $http gets injected
this.getName = function(){
$http(options)
.then(
function(data){
return data;
},
function(error){
return 'some error';
}
);
};
this.getAge = function(){
$http(options)
.then(
function(data){
return data;
},
function(error){
return 'some error';
}
);
};
在我的控制器中,我注入了这个服务,以便公开这些实用程序方法,例如:
// my controller declaration
var service = $injector.resolve('$myService');
然后,从这里我想调用实用程序方法,例如:
console.log(service.getName());
或做类似
的事情if(service.getName() == ''){
}
问题在于,当我尝试这样做时,该方法启动异步HTTP调用并返回空,而稍后才返回答案。我该如何解决这个问题?