gpt4 book ai didi

javascript - 删除 Firebase 数据中对 child_added 的引用

转载 作者:行者123 更新时间:2023-11-28 07:31:38 26 4
gpt4 key购买 nike

我正在编写一个 Firebase Web 应用 (Javascript)。如果我像这样编写对 child_added 的引用:

dataRef.child('bids').child(auction).child(lotno).on('child_added', function(data){...}

“auction”和“lotno”是变量,会随着应用程序的运行而变化。我正在编写脚本以在发生这种情况时关闭每个旧引用(使用 OFF),然后打开一个新引用。我的关闭看起来像这样:

dataRef.child('bids').child(auction).child(lotno).off('child_added');

首先,我这样做正确吗?其次,是否有一种更通用的方法可以关闭 child_added 引用,以避免意外打开引用的可能性?

意思是,我可以简单地编写Javascript来关闭“bids”内的所有child_added吗?想知道这样的事情是否有效:

dataRef.child('bids').off('child_added');

是否有一个可以涵盖所有 child 的通配符?这会关闭所有内容,还是必须写出通过子元素的每个特定路径?

最佳答案

由于路径是用两个变量构建的,并且在任何给定时间只有一个监听器打开,因此我决定通过简单地将两个值单独存储在它们自己的变量中来解决此问题,例如:

    var storedPath1;
var storedPath2;

dataRef.child('bids').child(auction).child(lotno).on('child_added', function(data){
if (storedPath1!=undefined && storedPath2!=undefined{
dataRef.child('bids').child(storedPath1).child(storedPath2).off('child_added');
}
storedPath1=auction;
storedPath2=lotno;
}

如果之前已建立监听器,则在打开新监听器时将关闭该监听器。

关于javascript - 删除 Firebase 数据中对 child_added 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29061992/

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