Si uso el código como en la documentación de Firebase, aparece el error en espera de una palabra reservada.
try { const docRef = await addDoc(collection(db, "users"), { first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }); console.log("Document written with ID: ", docRef.id) } catch (e) { console.error("Error adding document: ", e); }Si lo uso así no me sale ningún error pero esto no funciona
async () => { try { const docRef = await addDoc(collection(db, "projects", vm.add.slug), { first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }) console.log("Document written with ID: ", docRef.id) } catch (err) { console.log("error deleting data:", err) } }Alguien me puede ayudar que hago mal.
Como dijo Brian, en el primer ejemplo, está llamando await en una función que no es asíncrona, y en el segundo intento, solo definió una función que nunca fue llamada.
Mi sugerencia: crea una función asíncrona y llámala donde quieras, con await.
const submit = async payload => { try { const docRef = await addDoc(collection(db, "projects", vm.add.slug), payload) console.log("Document written with ID: ", docRef.id) } catch (err) { console.log("error deleting data:", err) } }; ... await submit({ first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }); ...