gpt4 book ai didi

firebase - 在 Firebase 9.0.0 上取消订阅的正确方法

转载 作者:行者123 更新时间:2023-12-05 02:38:59 27 4
gpt4 key购买 nike

在以前的版本中,我会这样做:

// Declaring db reference
let ref = firebase.database().ref('features')

// Creating the listener
let listener = ref.on('value', snapshot => {

if(snapshot.val()){
// Reading data
}

}

// Unsubscribing
ref.off('value', listener)

在 Firebase 9.0.0 之后,我看到 onValue() 函数返回一个取消订阅回调:

/** A callback that can invoked to remove a listener. */
export declare type Unsubscribe = () => void;

因此,我目前的做法是:

// Declaring db reference
let featuresRef = ref(db, 'features')

// Creating the listener
let unsubscribe = onValue(featuresRef, snapshot => {

if(snapshot.val()){
// Reading data
}

})

// Unsubscribing
unsubscribe()

我在函数定义中看到 off() 函数仍然存在,并且根据 documentation :

Callbacks are removed by calling the off() method on your Firebase database reference.

是否需要使用返回的取消订阅回调函数或off()函数来移除监听?

最佳答案

这里是 firebaser

返回的函数和off 都可以用来移除监听器。没有任何功能差异,即使在底层,它们在新 SDK 中也大体相同。

off() 退订方式从 Firebase 实时数据库 SDK 的第一个版本开始就可用。随着时间的推移,较新的 Firebase 产品开始返回取消订阅功能,许多开发人员似乎更喜欢这样,因此我们在 v9 SDK 中添加了这种取消订阅的样式。但是 off 也仍然可用,并且功能相同。

关于firebase - 在 Firebase 9.0.0 上取消订阅的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69302639/

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