2016-03-07 3 views
0

Если какой-либо способ разрешить вызовы в состояние, но последовательное? смысл, мне нужно решить одно и другое сразу после первого?последовательное разрешение, 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

Chain два вызова.

$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 вызова. Конечным результатом является массив с обоими результатами.

Смежные вопросы