Как мне выполнить перенаправление в угловой перехватчик

Привет, ребята, я довольно новичок в angular, и у меня возник вопрос о том, как лучше всего справиться с перенаправлением внутри перехватчика.

В моем приложении есть определенные страницы, к которым я смогу получить доступ, только если у меня выбрана учетная запись. Поэтому, если учетная запись не выбрана, я хочу, чтобы пользователь перенаправил страницу на страницу, чтобы выбрать учетную запись.

Вот моя неудачная попытка:

    // within config

    $httpProvider.interceptors.push(function($q, $injector){
        return {
            'request': function(config) {
                var state = $injector.get('$state');

                if(state.is('user.list')) {
                    var accountService = $injector.get('AccountService');
                    if(!accountService.accountSelected()){

                        // cancel the current request
                        var defer = $q.defer();
                        defer.resolve();
                        config.timeout = defer.promise;

                        state.go('account.select');

                    }
                }

                return config;
            }
        }
    });

Это вызываетбесконечный цикл для меня. По какой-то причине, когдаstate.go срабатывает - и он перехватывается состояние все еще "user.list"

Примечание: я использую ui-router, угловой 1.2.6

Другое примечание: другое место, где я думал об этом, было в блоке state.resolve.

Спасибо за помощь!

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

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