在firebase.auth()。onAuthStateChanged上返回什么?

时间:2018-03-17 22:38:38

标签: angular firebase angularfire2

当我将鼠标悬停在onAuthStateChanged上时,会显示以下内容:

(method) firebase.auth.Auth.onAuthStateChanged(nextOrObserver: firebase.Observer<any, any> | ((a: firebase.User) => any), error?: (a: firebase.auth.Error) => any, completed?: firebase.Unsubscribe): firebase.Unsubscribe

如果我user: firebase.User

,它似乎也有效
  firebase.auth().onAuthStateChanged((user) => {
    console.log("data from stateChanged: ", user);
  })

但是当我尝试访问用户的属性,即user.uid时,我得到的错误基本上是说无法访问。那么这里的返回类型到底是什么以及如何访问它?

1 个答案:

答案 0 :(得分:1)

onAuthStateChanged会返回firebase.Usernull。在访问它的属性之前,你需要对它进行无效保护,并且可能会在Typescript中强制转换为firebase.User

如果您正在使用Angular,我建议您使用AngularFire2及其AngularFireAuth模块;我们对其中一些API问题进行了平滑处理,并将回调包装在RxJS Observables中。