【发布时间】:2018-07-24 02:43:28
【问题描述】:
我在同一条路径上有 2 个 firebase 侦听器。其中一个获取最新的项目,另一个是类似查询的,它提供特定的用户项目。两者都因价值而被解雇。是否可以分离其中一个侦听器而保留另一个?
postRef = db.ref(`posts/${location}`)
postRef.orderByChild('timestamp').limitToLast(10).on("value",
function(snapshot) {
dispatch({
type: "POST_GET_POST",
payload: snapshot.val()
})
})
userRef = db.ref(`posts/`)
userRef.child(location).orderByChild("user").equalTo(user.uid).on("value",
function(snapshot) {
dispatch({
type: "POST_USER_POST",
payload: snapshot.val()
})
})
下面的代码只会关闭上面的两个监听器。
ref = db.ref(`posts/${location}`)
ref.off
我考虑过将其中一个侦听器更改为 on child_added,这样我就可以将事件类型传递给 ref.off() 以选择该侦听器。然而,这种方法感觉像是在解决问题,所以我想知道这是否可以通过任何其他方式来实现。
【问题讨论】:
-
我不明白 - off() 接受三个参数,但在您的代码中,您甚至没有将其作为带括号的函数调用。
-
这应该是一个伪代码,但我使用的是 ref.off() 反正
标签: javascript firebase firebase-realtime-database