Estoy usando Firestore v9 dentro de Expo/React Native. No puedo eliminar correctamente un documento usando la función async/ await y deleteDoc . El documento se elimina bien, pero mi aplicación no espera a que se complete la operación como esperaba. Se comporta de forma asíncrona.
Este es el código de llamada.
showDeleteConfirmation(data) { Alert.alert( this.title, this.message, [ {text: "Yes", onPress: () => this.deleteDococument(data)}, {text: "No", style: 'cancel'}, ], { cancelable: false } ) } async deleteDococument(data) { const isDataDeleted = await deleteDocFirestore(data) console.log(isDataDeleted) // i get undefined }función deleteDocFirestore
const deleteDocFirestore = async (user) => { try { const docUserRef = doc(db, "users", user.UserId); const userDeleted = await deleteDoc(docUserRef); return userDeleted } catch (error) { console.log(`error`, error.message); } };La función deleteDoc() devuelve void , por lo que simplemente puede devolver true desde la función deleteDocFirestore o false si se produce un error.