排序$ q.all()响应不起作用

时间:2017-09-29 17:37:37

标签: javascript angularjs sorting angular-promise

我的$ q.all()工作正常。以下代码在我的主要服务中,完成后所有内容都会正确返回给控制器。但是,我试图预先排序返回到控制器的最终数组,它不起作用。 sort函数本身也可以工作 - 它在我的控制器中用来手动对模板页面上的结果进行排序。它只是初步的结果没有回来排序。

我知道它是一个异步问题,但无法确定返回结果之前需要排序的位置。

// SERVICE
var groups = [] ; 
$q.all([promise1(),promise2(),promise3(),promise4(),promise5(),promise6()]).then(function(response){  
    var z=0 ;
    for (var y=0;y<response.length;y++) {  
          // process each promise as a complete 
          //     value: [0][{a:1,b:2,c:3},{a:4,b:5,c:6}],
          //            [1]:[{a:7,b:8,c:9},{a:10,b:11,c:12}]
       for (var x=0;x<response[y].length;x++) {  
          // process the components of each promise 
          // value [{a:1,b:2,c:3},{a:4,b:5,c:6}]
          response[y][x].ID = z++ ;  // reassign primary 'list' ID
          groups.push(response[y][x]) ;  // push preformatted component
                                         // to 'groups' to be passed
                                         // back to controller
       }
    }
    var sortType = getDB("sortOption") ;
    sortGroups(sortType) ;  // global 'groups' is already 
                            //   in 'sortGroups()'
});

return {
  all: function() {
    return [groups,sortType] ;
  }

// CONTROLLER
$scope.groups = ServiceGroups.all() ;

在控制器中,总是返回'groups',而不是排序。

0 个答案:

没有答案