2016-03-07 76 views
0

如果有任何方法可以将呼叫解析为一个状态,但顺序?这意味着,我需要在第一次完成后立即解决这个问题。顺序解决,ui路由器

比方说,我的配置是这样的:

$stateProvider 
    .state('home', { 
     url : '/', 
     resolve : { 
     firstCall : function(myService) { 
      return myService.getSomething(); 
     }, 
     secondCall : function(differentService, $q) { 
      //$q.when(myService.getSomething).getOther(); 
      return differentService.getOther(); 
     } 
     }//others parameters are omited 
    } 

这是不好的,我知道,但我从来没有做过类似到路由器的决心东西。

任何猜测?

回答

1

连锁店这两个电话。

$stateProvider 
    .state('home', { 
     url : '/', 
     resolve : { 
     bothCalls : function(myService) { 
      return myService.getSomething() 
       .then (function (result) { 
         var promise = differentService.getOther(); 
         return $q.all([result, promise]); 
       }); 
     }, 
     }//others parameters are omited 
    } 

getSomething调用的$q服务等待启动getOther调用之前解决。最终结果是一个包含两个结果的数组。