[英]How to reload the page after a Firebase delete request has executed
我有一个方法可以向我的 Firebase 集合发送删除请求。 我希望在删除请求完成并删除文档后重新加载页面。 就像现在一样,页面会立即重新加载并且文档不会删除,但如果我删除代码的重新加载部分,它会正常工作。
async deletePost() { database.collection("posts").where("id", "==", this.id).get().then(data => { data.forEach(doc => { doc.ref.delete() }) }).then(() => { M.toast({ classes: "toast-alert", html: "Post deleted" }) }).then( window.location.reload() ) }
每个delete()
调用都是异步的,因此您需要完成所有这些调用。 解决方案是对从delete()
获得的返回值使用Promise.all
:
async deletePost() {
return database.collection("posts").where("id", "==", this.id).get().then(data => {
const promises = data.docs.map(doc => doc.ref.delete());
return Promise.all(promises);
}).then(() => {
window.location.reload()
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.