3

我正在试用 Firebase,发现其中一个限制是并发连接数。在我的用例中,我实际上并不需要实时的任何东西——我只是希望能够将 Firebase 用作后端数据存储。与传统的网络应用程序一样,理想情况下,我会打开与 Firebase 的连接,获取数据,然后断开与 Firebase 的连接并为其他用户释放连接。

SO中的各种答案给我的印象是Firebase很难支持这种用法。看:

  1. Firebase 应用的并发用户究竟是如何确定的?
  2. 在不刷新或关闭页面的情况下断开 Firebase 套接字

两个问题:

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

1 回答 1

11

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

Firebase 开发者网站上有完整的教程。您可以像使用任何其他后端一样简单地使用 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();

这应该只适用于支持 CORS 的浏览器,因为Firebase 发送了正确的 headers。如果你想在原生 XHR 上创建一个抽象层,你可以使用 Angular 的 $http 或 jQuery 的 $.ajax 之类的东西。

于 2013-08-16T08:39:15.893 回答