我正在寻找一个简单的示例,以便我使用请求的响应来启动其他GET请求。
我有2个服务 - 一个返回包含ID的搜索结果对象列表 - 第二个获取此ID并返回图像。
例如:
myApp.factory('Search', ['$resource', function($resource){
return $resource('/api/search/', {}, {
getResults: {method:'POST'}
});
}]);
myApp.factory('Image', ['$resource', function($resource){
return $resource('/api/image/', { id: '@id' }, {
get: {method:'GET'}
});
}]);
如何更新我的控制器以使用第一次调用的输出JSON来检索图像?
myApp.controller('myAppController', function($scope, Search, Image) {
$scope.searchResults = Search.getResults();
});
感谢。
答案 0 :(得分:0)
你可以通过嵌套你的调用来链接promises(这是资源正在工作的东西),或者让先前的成功方法返回一个promise然后孵化为它。
根据您的情况,这可能是一个简单的解决方案:
Search.getResults(function (results) {
var imageId = results[0].imageId; // don't know what you need
$scope.images = Image.get({id: imageId});
});