2016-03-07 104 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調用之前解決。最終結果是一個包含兩個結果的數組。