我如何使用firebase.auth()。onAuthStateChanged()返回我的userID的值,它当前返回未定义的

时间:2019-04-14 14:28:37

标签: javascript firebase

我正在尝试检索当前用户的用户ID,但它返回未定义。 我该如何解决?

flattenObj
getUser = async () => {
    let userID
    firebase.auth().onAuthStateChanged(user => {
        if (user) {
            userID = user.uid.toString()
            console.log(userID) // return the userID
        }
    })
    return userID
}

1 个答案:

答案 0 :(得分:0)

您的getUser()函数使用回调,该回调与JS的async/await功能无关:在触发回调之前返回用户ID。

使用firebase.auth().currentUser是解决之道。在此处检查文档:https://firebase.google.com/docs/auth/web/manage-users