所以我目前正与python-firebase
合作,之前我一直在使用JavaScript和Firebase。在JS中有ref.on('child_added')
,但我希望对python-firebase
做同样的事情(每次添加节点时我都要检查firebase,所以我假设我需要这样的东西)。< / p>
那我该怎么做呢?
答案 0 :(得分:1)
@ hd1&#39的答案有效,并使用您已经使用过的python-firebase库。但正如你所说,它确实需要轮询更新。
另一种方法是倾听Firebase's REST streaming API。有一个Python example of how to consume the REST events(使用Python请求和sseclient库)。读取循环为here:
self.sse = ClosableSSEClient(URL)
for msg in self.sse:
msg_data = json.loads(msg.data)
if msg_data is None: # keep-alives
continue
path = msg_data['path']
data = msg_data['data']
if path == '/':
# initial update
if data:
keys = data.keys()
keys.sort()
for k in keys:
self.message_queue.put(data[k])
else:
# must be a push ID
self.message_queue.put(data)
虽然它不像您之前使用过的本机JavaScript客户端那么简单,但它与您在Python中获得该功能的距离非常接近。