угловой UI-роутер для родительского состояния

В моем родительском состоянии у меня естьresolve, В настоящее время я не вводитьразрешить ключ в любом дочернем состоянии.

Я предполагал, что мое дочернее состояние не будет ждать, пока это решение / обещание будет решено. Но когда я устанавливаю тайм-аут, я вижу, что состояние моего ребенка действительно ждет.

Это правильное поведение?

.config(function ($stateProvider, $urlRouterProvider, STATES) {
    $stateProvider
        .state(STATES.ROOT, {
            abstract: true,
            template:'<div ui-view=""></div>',
            resolve: {                  
                UserService: 'UserService',
               userDetails: function(UserService){
                   return UserService.getUserProfile();
                }

            }
        })
        .state(STATES.BILLING, {
            url: '/bill/checkClientContext.html',
           templateUrl: 'bill/checkClientContext.html',
            controller: 'BillingController'
        })

UserService.js

'use strict';
angular.module('nabc.data')
    .service('UserService', ['AjaxService', '$timeout','$q', function(AjaxService, $timeout, $q) {
        var getUserProfile = function() {
            var promise = AjaxService.get('userProfile');

            var deferred = $q.defer();
            $timeout(function(response){
                deferred.resolve(response);
            }, 5000);
            return deferred.promise;


        };

        return {
            getUserProfile: getUserProfile
        };
    }]);

Как вы можете видеть надBillingController не вводить вuserDetails, Но когда я устанавливаю тайм-аут в userService, я вижу, что мое состояние выставления счетов ждет.

Ответы на вопрос(2)

Ваш ответ на вопрос