有没有办法在不破坏 XHR 对象的情况下清除 XHR 对象的 responseText?
我需要保持对 Web 服务器的持久连接,以便将实时数据提供给浏览器。问题是,有相对大量的数据通过(每秒几百K),所以内存使用是一个大问题,因为这个连接必须保持打开至少几分钟。responseText 很快就变得非常大,即使我发回的 JSON 已经被压缩到尽可能小。
由于服务器端应用程序的工作方式,如果我使用 AJAX 样式的短轮询并在完成后销毁 XHR 对象,即使在解析数据所需的几毫秒内,我也会错过大量重要数据响应,创建一个新的 XHR 并将其发送出去。我没有使用重叠请求的选项,因为 Web 服务器一次只接受一个连接。(不要问。)所以 Comet 正是我需要的模型。
我想做的是解析从服务器返回的每个 JSON 块,然后清除 responseText 以便我可以继续使用相同的连接。但是,responseText 是只读的。它不能通过我找到的任何方法直接清空。
我在这里缺少图片的一部分吗?有谁知道我读完后可以用来释放 responseText 的任何技巧?还是服务器响应可以去其他地方?
我不包括代码,因为这实际上几乎是一个与代码无关的问题。生成 XHR 并处理返回数据的 Javascript 例程非常非常简单。