Firebase 客户端可以将任务添加到队列中,如下所示:
var tasks = db.ref('quote-request-queue/tasks');
tasks.push({'need': 'quote for customer'});
此任务代表获取商品报价的请求。
在后端,Firebase 队列工作线程将接收任务并执行一些工作,但是当后端工作完成时更新客户端的规范方法是什么?
我们是否应该在登录用户模型上使用一个属性,让客户端监听更改?
登录用户可以监听自己模型的变化,然后在变化时获取报价数据?
除了登录用户模型本身之外,是否可以在数据库中使用另一个模型?
最佳答案
我会在任务中放置一个唯一标识符,然后您可以将其写入响应“队列”(此时它实际上更像是一个列表)。
所以:
var tasks = db.ref('quote-request-queue/tasks');
var key = tasks.push().key;
tasks.push({'need': 'quote for customer', id: key });
然后服务器将其响应写入:
quote-responses
<key>
客户端在那里等待响应:
var responses = db.ref('quote-responses').child(key);
responses.on('value', function(snapshot) {
if (snapshot.exists()) {
// TODO: handle the response in the snapshot
}
});
关于node.js - 处理队列中的任务后更新客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39842392/