【问题标题】:AngularFire $createUser 's promise doesn't return an object containing user dataAngularFire $createUser 的承诺不返回包含用户数据的对象
【发布时间】:2015-02-03 20:06:15
【问题描述】:

根据 $createUser 函数的文档,“...返回一个用包含有关已创建用户的用户数据的对象解析的承诺”

https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-users-and-authentication-createusercredentials

当我使用该函数时(见下面的代码),我可以成功注册用户,但是当我读取应该包含 UID 的变量时,它没有定义。

在 Chrome 的控制台中,我得到:“TypeError: Cannot read property 'uid' of undefined”

我做错了吗?我应该以不同的方式检索值吗?

myApp.factory('Authentication', function($firebase, $firebaseAuth, FIREBASE_URL, $location, $rootScope) {
// using $firebaseAuth instead of SimpleLogin 

var ref = new Firebase(FIREBASE_URL);
var authObj = $firebaseAuth(ref);

var myObject = {
    login : function(user) {
        console.log('authentication.js: logging in')
        return authObj.$authWithPassword({
            email: user.email,
            password: user.password
        });
    }, //login

    logout : function(){
        return authObj.$unauth();
    }, // logout 

    register : function(user) {
        console.log('authentication.js: registering user')
        return authObj.$createUser({
            email: user.email,
            password: user.password
        }).then( function(userData) {
            console.log("User " + userData.uid + " created successfully!");
        });
    } // register

} //myObject

return myObject;
});

【问题讨论】:

    标签: javascript angularjs firebase angularjs-service angularfire


    【解决方案1】:

    问题是我使用的是旧版本的 Firebase。我使用的是 2.0.4 版本,根据这篇文章 https://github.com/firebase/angularfire/issues/507 ,从你需要 Firebase 2.0.5 或更高版本和 AngularFire 0.9.1 或更高版本的承诺中获取用户对象。

    现在使用这些 CDN 一切正常。

    <!-- Firebase -->
    <script src="https://cdn.firebase.com/js/client/2.0.5/firebase.js"></script>
    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/0.9.1/angularfire.min.js"></script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-25
      • 2020-01-04
      • 2016-02-21
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-16
      相关资源
      最近更新 更多