繁体   English   中英

如何在执行 Firebase 删除请求后重新加载页面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM