我想要一个列表(可能是100k+条目)作为只读值。
我可以用:
firebaseRef.once('value', function(dataSnapshot) {
// handle read data.
});或者,我可以通过向Firebase端点发出get请求来获取数据:
https://docs-examples.firebaseio.com/rest/saving-data/fireblog/posts.json在这个只读场景中,REST似乎总是比使用库更快。特别是在较大的数据集上。
为什么会这样呢?如果我只想读取数据,是否有理由不使用GET请求方法?
发布于 2015-02-20 10:58:05
firebaseRef.once()使用WebSocket。与重复事件观察者一样,设置它需要花费大量时间,而且GET请求的缓存性对它没有好处。它还使用全局firebase auth状态,与REST请求的auth参数相比,该状态更方便,但灵活性更低。
如果您已经设置了一个用于重复事件处理程序的WebSocket连接,那么once有时将是获取最新数据的最方便的方式,因为这些数据无论如何都不会从缓存中获益。但有时,您必须深入休息层,以充分优化性能。
https://stackoverflow.com/questions/28627197
复制相似问题