首页 > 解决方案 > 从观察者返回承诺的价值

问题描述

我想编写一个返回 firebase 用户令牌 ID 的辅助函数。我设法从这种方法中获取了 firebase 令牌,但是在将 promise 值(令牌 id)从观察者函数onAuthStateChange返回到调用getToken()辅助方法的函数时遇到了麻烦。我是非常新的承诺,将不胜感激任何帮助。这是我到目前为止得到的。

export function getToken (){
  firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
      user.getIdToken().then(token => {
        return token // Managed to get the valid token
      })
    } else {
    }
  });
}

标签: javascriptfirebasefirebase-authentication

解决方案


Firebase 身份验证状态侦听器/观察者无法从函数返回值。每次状态更改都会调用它们。如果你想在状态改变时继续一些工作,你应该在监听器本身中这样做,可能通过调用另一个函数。


推荐阅读