使用AngularJS在run()中执行异步函数

时间:2014-01-27 10:50:00

标签: angularjs asynchronous

我正在寻找一个解决方案,但它总是一样的,而且她对我的问题没有反应。

我有很多路由元素但是对于具有不同控制器的所有路由,我需要知道用户是否是身份验证。如果是,我有来自api的令牌,如果没有,我也有令牌。所以当我加载所有控制器时,我需要从api获得一个令牌。

所以我不想为每个“when()”做出决定,我不想对API进行说明,所以我用

搜索这样的系统
app.run(['Auth', function(Auth){

// Call my service & waiting his resolve
// When resolved, continue the init

}]);

那么如何在run()上使用我的“Auth”服务建立一个解析系统?

1 个答案:

答案 0 :(得分:0)

创建一个服务,您将拥有具有身份验证状态的变量,在所有控制器和该服务的每个控制器调用方法中注入此服务。在该方法内部检查具有身份验证状态的变量,并且仅当尚未发送身份验证请求时 - 发送它(并将变量设置为状态sent)。