初始读取后从Firebase断开连接,即将其用作传统而非实时数据存储

时间:2013-08-16 08:29:27

标签: firebase

我正在尝试使用Firebase,并且已经看到其中一个限制是并发连接数。在我的用例中,我实际上并不需要任何实时内容 - 我只是希望能够将Firebase用作后端数据存储。与传统的网络应用程序一样,我最好打开与Firebase的连接,获取数据,然后从Firebase断开连接并释放其他用户的连接。

SO中的各种答案让我觉得Firebase难以支持这种用法。见:

  1. How exactly are concurrent users determined for a Firebase app?
  2. Disconnecting a firebase socket without refresh or closing the page
  3. 两个问题:

    1. 是否通过var ref = new Firebase('<url>');创建了一个新的Firebase引用,这是与Firebase建立长轮询连接的开始?
    2. 是否有内置支持/ API用于创建与Firebase的短暂连接,然后能够在数据检索后断开连接,以便在页面上闲置而不做任何事情的用户不会吃掉我的并发连接限制?

1 个答案:

答案 0 :(得分:11)

Firebase允许您将URL用作REST端点,而不是使用JavaScript API。

the Firebase developers site的完整教程。您可以使用XHR(AJAX)从Firebase发送和获取内容,就像使用任何其他后端一样。

JavaScript API对于实时应用程序非常强大,但在您的情况下,如果您只想进行无状态转移,只需向RESTful API发出AJAX请求就好了。

例如:

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://SampleChat.firebaseIO-demo.com/users/jack/name.json",true);
xhr.onload = function(){
    alert("Got data from my Firebase backend: "+xhr.response);
};
xhr.send();

这应仅适用于Firebase sends the right headers以来支持CORS的浏览器。如果你想要一个超过原生XHR的抽象层,你可以使用Angular的$ http或jQuery的$ .ajax。