我使用拦截器来捕获来自服务器的401响应。当我得到401回复时,我广播了一条消息:$rootScope.$broadcast('auth:loginRequired');
在我的模块的.run()
方法中,我听这个事件:
$rootScope.$on('auth:loginRequired', function() {
$state.go('login');
});
(这里我使用的是ui-router库,不是默认的路由系统) 因此,当我访问某个页面,其中正在发送对服务器的请求时,我得到401响应,我被重定向到登录页面。但是直到我没有得到回复,我才看到该页面,只有在回复后我才会被重定向到登录,所以屏幕闪烁。
如何预防?