0

我有小功能,當我看在控制檯它的工作原理:返回控制檯user.uid,但我想回到UID在其他功能使用回報user.uid onAuthStateChanged

newUserUid() { 
return firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    console.log(user.uid); 
    } 
}); 
} 

我想函數返回這樣的用戶:ewfwe3423sdfsdakmasd

+0

你應該保存它有或類變量設置。 [onAuthStateChanged](https://firebase.google.com/docs/reference/js/firebase.auth.Auth#onAuthStateChanged)返回取消訂閱功能 –

+0

您能顯示mes樣本嗎? – Gocha

回答

1

你需要subscribe到auth狀態。您在Angular 2應用中使用JavaScript SDK,請改用AngularFire2 SDK。

import { AngularFireAuth } from 'angularfire2/auth'; 
... 
constructor(public af: AngularFireAuth) {} 
... 

someOtherFunction() { 
    newUserUid().subscribe(auth => { 
     // Now use value 
     if (auth) { 
      console.log(auth.uid); 
     } else { 
      // logged out 
     } 
    }); 
} 

newUserUid() { 
    return this.af.auth; 
} 

參考文獻:Herehere