对于我们的申请,
现在,让我们假设以下情况:
我们的问题是:服务器如何通知客户完成处理?
请指导我们如何实施此功能。 Firebase中是否有内置机制来执行此操作?
答案 0 :(得分:1)
就像服务器侦听数据库中的更改一样,客户端也可以这样做。当客户端更改数据库中的对象时,它可以创建一个新属性,专门用于服务器在完成处理时发出信号。然后,客户端侦听对该属性的更改,服务器在完成处理后对其进行更改。您的数据结构可能如下所示:
{
serverjobs: {
job1: {
input: {
// the client's input for the job
},
finished: false
},
job2: {
input: {
// the client's input for the job
},
output: {
// the server's output for the job
}
finished: true
}
}
}
服务器将侦听serverjobs
,并在客户端添加时开始处理作业。客户端提供服务器对每个作业所需的任何数据input
。客户端还会收听作业的finished
值。当服务器完成作业时,它会将finished
值设置为true
,并将作业的结果提供为output
。客户注意到finished
值的更改,可以采用output
并采取相应行动。