在angularjs中使用拦截器时防止闪烁屏幕

时间:2014-01-06 18:20:15

标签: javascript angularjs interceptor angular-ui-router

我使用拦截器来捕获来自服务器的401响应。当我得到401回复时,我广播了一条消息:$rootScope.$broadcast('auth:loginRequired');

在我的模块的.run()方法中,我听这个事件:

$rootScope.$on('auth:loginRequired', function() {
    $state.go('login');
});

(这里我使用的是ui-router库,不是默认的路由系统) 因此,当我访问某个页面,其中正在发送对服务器的请求时,我得到401响应,我被重定向到登录页面。但是直到我没有得到回复,我才看到该页面,只有在回复后我才会被重定向到登录,所以屏幕闪烁。

如何预防?

0 个答案:

没有答案