即時消息檢查,看看是否有一個節點存在於firebase中,如果我的函數返回false 我使用push方法,如果爲true,我將使用更新方法。 這是我的功能所花費的ID:我如何檢查使用angularfire2的Firebase中的現有節點?
checkIfExist(path:string){
var a;
const user = this.db.object(`/users/${path}/`,{ preserveSnapshot: true });
user.subscribe((obj) => {
if (obj.$exists()) {
a = true;
} else {
a = false;
}
});
return a;
}
我第一次按下按鈕就創建了一個新的節點,即使節點存在 我第二次推正確更新節點的按鈕。 爲什麼會發生這種情況 每次刷新頁面,我按下保存按鈕,它會創建一個新節點 ,但第二次更新完美。
當您訂閱的集合,將需要一段時間才能得到結果。更好的是在你的訂閱中執行push方法和'.exists()',而不是等待函數獲得結果。 – Hareesh
你能用一些例子來詳細說明一下嗎? – user3640924
顯示你的代碼,當你按下按鈕或寫入firebase的函數時,它會運行。 – Hareesh