顺序解析,ui-router

时间:2016-03-07 15:32:10

标签: angularjs angular-ui-router

如果有任何方法可以将呼叫解析为状态但是顺序?意思是,我需要在第一次完成之后解决一个和另一个?

让我们说我的配置如下:

 $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 个答案:

答案 0 :(得分:2)

这两个电话。

$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
   }

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