Бесконечный цикл на $ stateChangeStart пользовательского маршрутизатора

Набирает оборотыугловая, а такжеUI-маршрутизатор

И бороться с перенаправлением в другое состояние, если не выполнено предварительное условие:

Я попытался с помощью перехватчика :(Как мне выполнить перенаправление в угловой перехватчик).

Но кто-то упомянул, что обработка $ stateChangeState была бы более уместной. Но я все еще сталкиваюсь с бесконечным циклом:

    /**
     *  Check here for preconditions of state transitions
     */
    $rootScope.$on('$stateChangeStart', function(event, toState) {

        // which states in accounts to be selected
        var accountRequiredStates = ['user.list', 'user.new'];
        if(_.contains(accountRequiredStates, toState.name)){
            event.preventDefault();
            ApiAccount.customGET('get_current').then(function(resp){
                // if I have a selected account, go about your business
                if(resp.hasOwnProperty('id')){
                    $state.go(toState.name);
                } else { // prompt user to select account
                    $state.go('user.select_account');
                }
            })
        }
    });

Может кто-нибудь предложить лучший шаблон (тот, который работает)

Спасибо!

Примечание: подобная проблема отличается подходом здесь:Как мне выполнить перенаправление в угловой перехватчик

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

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