在 Firestore V9 中使用 async/await 删除文档
Delete document with async/await in Firestore V9
我在 Expo/React Native 中使用 Firestore v9。我无法使用 async/await 和 deleteDoc 函数正确删除文档。文档删除正常,但我的应用程序没有像我预期的那样等待完成操作。它的行为是异步的。
这是调用代码
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
}
删除 DocFirestore 函数
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);
}
};
deleteDoc()
函数 returns void
所以你可以简单地从 deleteDocFirestore
函数或 false
return true
如果抛出错误。
我在 Expo/React Native 中使用 Firestore v9。我无法使用 async/await 和 deleteDoc 函数正确删除文档。文档删除正常,但我的应用程序没有像我预期的那样等待完成操作。它的行为是异步的。
这是调用代码
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
}
删除 DocFirestore 函数
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);
}
};
deleteDoc()
函数 returns void
所以你可以简单地从 deleteDocFirestore
函数或 false
return true
如果抛出错误。