簡體   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