AngularJS等待.run内的资源完成

时间:2015-09-18 18:30:51

标签: javascript angularjs authentication

我有使用AngularJs构建的前端和使用SailsJs构建的后端。 我想在执行控制器内的任何事情之前检查,无论用户是否登录。为此我使用的是调用资源。问题是Angular在资源返回任何内容之前继续执行。 因此,由于无法等待资源完成,我最终会收到错误。

有没有办法延迟Angular的执行或更好的方法来检查用户是否在到达控制器之前被记录了?

1 个答案:

答案 0 :(得分:0)

基于迈克建议可能的解决方案:

$stateProvider.state('inbox', {
    url: "/inbox",
    templateUrl: "js/components/inbox/index.html",
    controller: 'InboxCtrl',
    resolve: {
        Auth: 'Auth',
        auth: function(Auth){

            // Auth.fetch() is completed before continuing. 
            return Auth.fetch().$promise;
        }
    },
});