【发布时间】:2015-11-18 10:58:42
【问题描述】:
所以我正在做一个项目,我有一个数据集,我必须根据用户输入通过从服务器检索数据来检索所述数据集的各种统计数据。
我正在尝试设置一个 AngularJS 服务,该服务具有各种方法,可以返回给定数据点的各种信息。
这是来自服务的公共方法:
function test() {
return $http.get('blahblah.api.../datapoint1')
.success(function(data) {
console.log(data.name);
return data.name;
});
}
这是控制器的相关部分:
self.data = service.test();
console.log(self.data);
有趣的是,http 调用成功中的 console.log(data.name) 正是我想要的。给定数据点的名称。 但是,其范围之外的 console.log(self.data) 给了我原始的承诺对象。我用来发送“成功”范围之外的信息的任何方法都会给我一个承诺对象。为什么是这样?有没有办法解决这个问题?必须处理控制器中的错误处理似乎非常低效。
【问题讨论】: