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

269
Vistas
Escribir datos en Firestore al crear un usuario no funciona

Estoy usando VueCLI y Firebase (Auth y Firestore).

Esencialmente, la función se llama correctamente y registra al usuario en la base de datos correctamente; sin embargo, las promesas no se llaman (por ejemplo, .then & .catch) en la función .createUserWithEmailAndPassword.

No se devuelve ningún error y no se registra nada en el almacén de incendios, realmente me ha dejado perplejo.

Sin embargo, ¿a veces funciona exactamente como se esperaba? Pero a menudo de forma irregular.

 submit () { var v = this firebase.auth().createUserWithEmailAndPassword(v.form.email, v.form.password) .then(function () { // set account doc var account = { email: v.form.email, name: v.form.name, picture: v.form.picture } db.collection('Users').doc(v.form.email).set(account).then(() => { console.log('Database Details Defined') // Set user display name v.$store.commit('setUserDisplayName', v.form.name) // Set user display name v.$store.commit('setUserImage', v.form.picture) // Set user as signed in v.$store.commit('changeLoginState', true) // Set user email v.$store.commit('setUserEmail', v.form.email) // console.log('Vue Store Details Defined') localStorage.setItem('name', v.$store.state.displayName) localStorage.setItem('email', v.$store.state.email) localStorage.setItem('userImage', v.$store.state.userImage) localStorage.setItem('loggedin', v.$store.state.isLoggedin) // console.log('Local Storage Details Defined') // Redirect user to dashboard v.$router.replace('/') v.registering = false }).catch((error) => { v.databaseError = 'Database Error: ' + error.code + ' - ' + error.message v.registering = false }) }) .catch(function (error) { v.registrationError = 'Registration Error: ' + error.code + ' - ' + error.message v.registering = false }) }

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tiene una función getDB() que devuelve el valor de la instancia de Firestore, por lo que getDB().collection("users")... puede haber funcionado según lo previsto. No veo dónde se inicializa db en este archivo específico, por lo que console.log(db) podría ayudar a verificar cuál es su valor.

 firebase.firestore().collection('Users').doc(v.form.email).set(account)

Esto funcionó según lo previsto porque firebase.firestore() devolverá la instancia de Firestore con seguridad. Recomendaría exportar los servicios de Firebase directamente y no en funciones. Por ejemplo, podría crear un archivo firebase.js e inicializar Firebase allí:

 var firebase = require('firebase/app') require('firebase/firestore') const firebaseConfig = { } if (!firebase.apps.length) { firebase.initializeApp(config); } const auth = firebase.auth() const db = firebase.firestore() export {db, auth}

Debe inicializar Firebase solo una vez, como se muestra. Será mucho más claro en lugar de inicializar en la función getDB .

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