Geofire 一次查询而不是 1 乘 1
Geofire query at once instead of 1 by 1
我下面的代码片段,它首先查询 geo keys
然后查找与 value
事件相关的数据。但是有一个问题,键是 return 1 x 1 所以我的列表视图也逐行显示。如何在 ONCE 中查询 geo keys
?
geoQuery.on('ready', () => {
geoQuery.cancel()
})
geoQuery.on("key_entered", (key, location, distance) => {
postsRef.child(key).once('value', (snapshot) => {
dispatch({
type: FETCH_NEARBY_SUCCESS,
response: normalize(snapshot.val(), schema.post)
})
})
})
这是预期的行为:key_entered
事件针对最初位于范围内的每个键触发一次,然后在每个键进入范围时触发一次。
如果您想在加载初始数据后执行一些更新,例如延迟更新屏幕,可以监听ready
事件。来自 documentation:
ready
fires once when this query's initial state has been loaded from the server. The ready
event will fire after all other events associated with the loaded data have been triggered.
我下面的代码片段,它首先查询 geo keys
然后查找与 value
事件相关的数据。但是有一个问题,键是 return 1 x 1 所以我的列表视图也逐行显示。如何在 ONCE 中查询 geo keys
?
geoQuery.on('ready', () => {
geoQuery.cancel()
})
geoQuery.on("key_entered", (key, location, distance) => {
postsRef.child(key).once('value', (snapshot) => {
dispatch({
type: FETCH_NEARBY_SUCCESS,
response: normalize(snapshot.val(), schema.post)
})
})
})
这是预期的行为:key_entered
事件针对最初位于范围内的每个键触发一次,然后在每个键进入范围时触发一次。
如果您想在加载初始数据后执行一些更新,例如延迟更新屏幕,可以监听ready
事件。来自 documentation:
ready
fires once when this query's initial state has been loaded from the server. Theready
event will fire after all other events associated with the loaded data have been triggered.