触发云功能并在功能完成时执行操作

时间:2017-08-10 21:50:43

标签: firebase firebase-realtime-database google-cloud-functions

我有一个应用程序,然后运行web ui(react)Cloud Function并更新数据库中的完成值。

我如何展示进步'指示并在云功能完成时将其删除?

我最初以为我会用Promises做这样的伪代码:

return updateDatabaseToTriggerFunctionExec()
    .then listenForFunctionDoneEvent()
    .then return Promise.resolve();

但是,我不知道如何知道函数何时完成并更新了一个值。检测触发云功能何时完成的推荐方法是什么?

1 个答案:

答案 0 :(得分:2)

您必须使用数据库作为中继来实现类似命令响应模型的操作,您可以将命令推送到某个位置,并且该函数会将结果推出,这些结果可以由发出命令的客户端监听。使这项工作的事实是命令和响应的位置以及客户端和服务器之间已知的事实,并且他们具有为客户端命令生成的推送ID的常识。

我在my session at Google I/O 2017期间稍微讨论了这个架构,我用Firebase构建了一个回合制游戏。

另一种方法是使用HTTP函数,它具有更明确定义的请求 - 响应周期。