AngularJS从工厂返回值到控制器
AngularJS return value from factory to controller out of Promise
我有一个HTTP请求设置为.factory中的承诺,并希望将结果发送到控制器。然而,我坚持把数据从承诺中取出来,放到我可以使用它的地方。
.合肥
.controller('MainCtrl', function ($scope, Main, User) {
$scope.feedResult = function () {
var feeds = [];
return Main.feed(key).success(function (data, status, headers, config) {
for (var i = 0; i < data.length; i += 1)
{
feeds.push(data[i]);
}
return feeds;
}).error(function (data, status, headers, config) {
console.log("This was an error back from the server");
console.log(data);
return data;
});
}();
})
和。factory
feed: function (token) {
return $http({
url: 'http://myserver.com/feed',
method: 'GET',
data: {
auth_code: token,
per_page: 10
}
}).success(function (data, status, headers, config) {
for (var i = 0; i < data.length; i += 1)
{
feeds.push(data[i]);
}
return feeds;
}).error(function (data, status, headers, config) {
console.log("This was an error back from the server");
console.log(data);
return data;
});
},
无论我如何尝试将东西放入作用域,我似乎总是以promise对象结束。有人能帮我一下吗?
success或error方法总是返回一个promise(它将返回值封装到一个新的promise中)。你应该在成功/错误回调中设置范围的值:
.controller('MainCtrl', function ($scope, Main, User) {
$scope.feedResult = [];
Main.feed(key).success(function (data, status, headers, config) {
for (var i = 0; i < data.length; i += 1)
{
$scope.feedResult.push(data[i]);
}
}).error(function (data, status, headers, config) {
console.log("This was an error back from the server");
console.log(data);
$scope.feedResult = data;
});
})
相关文章:
- 将从控制器返回的selectbox值动态呈现为json
- 从服务返回值时$scope控制器的变量是未定义的
- 将javascript返回值传递给MVC 4中的控制器
- 无法使用.ajax调用显示MVC控制器返回的属性值
- 尝试从工厂中的 ref.on() 返回值到控制器
- 在 AngularJs 中,从工厂服务到控制器的返回值丢失
- $http没有从Spring MVC REST控制器返回值
- 如何使用ajax从JSP中的控制器检索返回值
- 如何读取一个JavaScript对象的值作为一个排序列表从控制器返回
- AngularJS从工厂返回值到控制器
- AngularJS从外部控制器的AJAX获取返回值
- AngularJS:控制器返回未定义的值
- 基于JSF中动作控制器方法的返回值调用javascript
- 用控制器返回的值填充图表
- 在控制器方法返回值之前,首先执行提交按钮的单击事件
- AngularJS控制器返回值
- Angular:在我在控制器中设置返回值之前,我怎么能等待服务中的承诺被解析呢?
- asp.net mvc 3 -通过Javascript将值传递给控制器返回视图
- 在我自己的Angular服务中,如何将返回值返回给调用该服务的控制器
- 基于控制器返回值调用javascript方法