我有一个应用程序,其中Web UI(反应(云函数然后运行并更新数据库中的完成值。
如何显示"进度"指示并在云功能完成后将其删除?
我最初以为我会用 Promise 做一些类似伪代码的事情:
return updateDatabaseToTriggerFunctionExec()
.then listenForFunctionDoneEvent()
.then return Promise.resolve();
但是,我不确定如何知道函数何时完成并更新了值。 检测触发的云函数何时完成的推荐方法是什么?
您必须实现类似于命令-响应模型的东西,使用数据库作为中继,您将命令推送到某个位置,该函数将结果推出,这些结果可以被发出命令的客户端侦听。 使这项工作起作用的是,命令和响应的位置以及客户端和服务器之间的已知位置,并且它们对为客户端命令生成的推送 id 有常识。
我在Google I/O 2017的会议上稍微回顾了一下这个架构,在那里我用Firebase构建了一个回合制游戏。
另一种方法是改用 HTTP 函数,该函数具有更明确定义的请求-响应周期。