Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

245
Vistas
Firebase onAuthStateChanged siempre devuelve indefinido

He estado tratando de crear un método de utilidad que devolverá el objeto de usuario o si existe el objeto de usuario. Sin parámetros, debería devolver un booleano y con el parámetro "getUser" debería devolver el objeto de usuario, pero siempre devuelve indefinido. Esto pareció funcionar por un tiempo, pero luego tomé un descanso y volví y siempre regresaba indefinido. Código a continuación

 import { getAuth, onAuthStateChanged } from "firebase/auth"; export default function checkAuthState(type?:string){ const auth = getAuth() onAuthStateChanged(auth, (user) => { if (user) { if(!type) return true if(type === "getUser") return user else return true } else { if(!type) return false else return false } }); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su return true devuelve un valor a onAuthStateChanged , que es lo que llama a su devolución de llamada. onAuthStateChanged no está haciendo nada con ese valor.

Si desea tener una promesa que se resuelva una vez que se haya restaurado el estado inicial del usuario, puede hacerlo con:

 function checkAuthState(type?:string){ const auth = getAuth() return new Promise((resolve, reject) => { const unsubscribe = onAuthStateChanged(auth, (user) => { if (user) { if(!type) resolve(true) if(type === "getUser") resolve(user) else resolve(true) } else { if(!type) resolve(false) false else resolve(false) } unsubscribe(); }); }) }

Y luego llámalo así:

 checkAuthState().then((result) => { console.log(result); })

O cuando se usa async / await :

 const result = await checkAuthState(); console.log(result);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda