Eri*_*dán 4 firebase firebase-realtime-database
在以前的版本中,我会这样做:
// 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)
Run Code Online (Sandbox Code Playgroud)
在 Firebase 9.0.0 之后,我发现该onValue()函数返回取消订阅回调:
/** A callback that can invoked to remove a listener. */
export declare type Unsubscribe = () => void;
Run Code Online (Sandbox Code Playgroud)
因此,我目前的方法:
/** A callback that can invoked to remove a listener. */
export declare type Unsubscribe = () => void;
Run Code Online (Sandbox Code Playgroud)
我在函数定义中看到该off()函数仍然存在,并且根据文档:
通过调用 Firebase 数据库引用上的 off() 方法来删除回调。
是否需要使用返回的Unsubscribe回调函数或者off()移除监听的函数?
火力战士在这里
返回的函数 和 都可off用于删除侦听器。功能上没有差异,即使在底层,它们在新 SDK 中也基本相同。
off()自第一个版本起,Firebase 实时数据库 SDK 中就提供了取消订阅的方式。随着时间的推移,较新的 Firebase 产品开始返回取消订阅功能,许多开发人员似乎更喜欢这种方式,因此我们在 v9 SDK 中添加了这种取消订阅风格。但off仍然可用,并且功能相同。
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |