【发布时间】:2020-08-13 17:16:50
【问题描述】:
我用flutter + firebase构建了一个应用程序,如果它是在5个多小时前创建的,我需要删除它,所以我用nodejs构建了一个脚本。问题是文档没有被删除,因为我不等待删除功能完成。 所以我尝试添加 async/await 但出现错误。
我尝试过这样做:
async function mydelete(){
let getDoc = cityRef.get()
.then(snapshot => {
snapshot.forEach(doc => {
docid = doc.id;
if (doc.id.length == 4)
db.collection('collection').doc(doc.id).delete();
else if (doc.data().Timestamp._seconds < new Date() - 18000) {
console.log(doc.id)
a = await db.collection('collection').doc(doc.id).delete()
}
else console.log('false')
})
})
.catch(err => {
console.log('Error getting documents', err);
});
}
但是现在我有这个错误: SyntaxError: await 仅在异步函数中有效
【问题讨论】:
-
snapshot.forEach(doc => {...})应该是:snapshot.forEach(async doc => {...})