在Angular中返回对象后无法访问代码

时间:2015-04-03 07:21:34

标签: javascript angularjs

我在使用我的应用中的工厂进行身份验证时遇到了一些问题。目标是仅在用户尚未经过身份验证时才获取令牌。当我使用下面的代码时,我收到以下错误:

  

无法读取属性' uid'为null

我无法判断这只是一个轻微的语法问题还是更大的问题。看起来似乎没有读取以var authData开头的代码。

(function() {
  'use strict';
   angular.module('firebase.auth', ['firebase', 'firebase.ref'])

   .factory('Auth', ['$firebaseAuth', 'Ref', function ($firebaseAuth, Ref) {

        return $firebaseAuth(Ref);
        var authData = Ref.getAuth();
        console.log(authData);

         if (authData) {
            console.log('already logged in with ' + authData.uid);
          } else {

            return Auth.$authAnonymously({rememberMe: true}).then(showError);

             function showError(err) {
              Login.err = err;
            }
          }
        }
    ]);
})();

angular.module('App')

   .factory('Projects', function ($firebaseArray, fbURL, Auth, Ref) {
        var authData = Ref.getAuth();
        var ref = new Firebase(fbURL + '/projects/' + authData.uid);
          return $firebaseArray(ref);
})

1 个答案:

答案 0 :(得分:1)

 return $firebaseAuth(Ref);
  

看起来没有读取以var authData开头的代码。

你在函数的顶部插入了一个return语句。这将退出该功能。