[英]Aborting an ongoing Firebase database request
我想知道當尚未返回任何結果時,是否有任何方法可以取消/中止Firebase實時數據庫請求。
考慮以下:
1)用戶從列表中選擇一個項目2)(Web)應用程序請求檢索該項目的某些消息或其他數據3)用戶向后導航並選擇其他項目4)Firebase請求返回錯誤結果項目
常規的xhr請求可以中止。 可以清除超時(setTimeout)。 有什么方法可以中止/取消正在進行的Firebase請求?
例:
var request;
// ..
if (request) { abort(request); request = null; }
request = firebase.database().ref("item1/").once("value", callback);
PS:這個問題是關於數據庫的,但是我想這對於大多數Firebase服務來說真的很方便嗎?
無法終止讀取操作。
如果您不希望應用程序再使用數據,則可以通過調用off()
來分離偵聽器。
這不僅適用於使用.on()注冊的偵聽器,還適用於.once()。
例:
firebase.db.ref("/item1").once("value", function(snap) { console.log("1: ", snap.val()); });
firebase.db.ref("/item1").off();
firebase.db.ref("/item2").once("value", function(snap) { console.log("2: ", snap.val()); });
在控制台中打印以下內容:
2:{...}
換句話說:從第一行開始的回調永遠不會被調用(除非它在調用.off()之前返回結果)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.