恕我直言,我认为有很多聪明(优雅)的方法可以做到这一点
$q.all。
请看下面的代码。
我假设您想一次返回数据,并将所有结果汇总在一个大数组上。
var myApp = angular.module('myApp', []);myApp.factory('myService', function ($http, $q) { return { getAlldata: function () { return $q.all([ $http.get('../wordpress/api/core/get_category_posts/?category_id=14'), $http.get('../wordpress/api/core/get_category_posts/?category_id=15'), $http.get('../wordpress/api/core/get_category_posts/?category_id=16'), $http.get('../wordpress/api/core/get_category_posts/?category_id=17') ]).then(function (results) { var aggregatedData = []; angular.forEach(results, function (result) { aggregatedData = aggregatedData.concat(result.data); }); return aggregatedData; }); } };});
您可以在上方看到
aggregatedData只有通过完成所有异步调用后,才会生成
$q.all。
例如,您只需要将该服务作为依赖项包含到您的一个控制器中,然后像这样调用该服务
myService.getAllData()
希望对您有所帮助,或者让我知道您是否需要一个完整的示例,我可以提供一个示例!:)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)