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