gpt4 book ai didi

javascript - 中止正在进行的 Firebase 数据库请求

转载 作者:行者123 更新时间:2023-12-01 02:45:03 25 4
gpt4 key购买 nike

我想知道是否有任何方法可以在尚未返回任何结果时取消/中止 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() 之前返回结果)

关于javascript - 中止正在进行的 Firebase 数据库请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47301266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com