我想让Flask在我的Firestore树中监听实时更新。你知道吗
我在link的文档中发现了这个代码片段:
# Create a callback on_snapshot function to capture changes
def on_snapshot(doc_snapshot, changes, read_time):
for doc in doc_snapshot:
print(u'Received document snapshot: {}'.format(doc.id))
doc_ref = db.collection(u'cities').document(u'SF')
# Watch the document
doc_watch = doc_ref.on_snapshot(on_snapshot)
但我不知道该怎么用在烧瓶里。你知道吗
基本上,我想让Flask监听Firestore中文档的更改,然后将这些更改发送到我的前端应用程序(Reactjs)。我一直在看烧瓶SocketIO,这似乎是我需要的,但我不确定。你知道吗
有人能帮我吗?你知道吗
编辑
我试着这样做:
# Create a callback on_snapshot function to capture changes
def on_snapshot(doc_snapshot, changes, read_time):
for doc in doc_snapshot:
flask_print("Received document snapshot: {}".format(doc.id))
flask_print("snapshot was recieved from firebase!")
emit("snapshot", {"data": doc.id})
@socketio.on("snapshot")
def snapshot_to_ferontend(snapshot):
flask_print("snapshot was sent to frontend!")
send(snapshot)
class SubscribeToGameById(Resource):
def __init__(self):
parser = reqparse.RequestParser()
parser.add_argument("game_id", required=True)
self.args = parser.parse_args()
def put(self):
doc_ref = db.collection("games").document(self.args["game_id"])
doc_ref.on_snapshot(on_snapshot)
但是我得到一个错误,说:“RuntimeError:在请求上下文之外工作。”
您可以使用库
flask-boiler
来提供内容。在视图模型中介中实现notify
方法GameViewMediator
,如下所示:并将视图模型
GameView
绑定到域模型Game
:您应该看到websocket在每次更改时都会发出游戏的快照。你知道吗
相关问题 更多 >
编程相关推荐