HTTP之上有一个协议,该协议允许使用HTTP传输以较小的,易于使用的块形式将服务器响应传递给浏览器。它称为 SSE (服务器发送事件)或
EventSource ,这里是有关该主题的相当完整的文章。
还有其他使用HTTP协议流数据的方法。一种这样的替代方法是JSON流传输,其中您可以从服务器在线路上编写部分响应,并在到达JSON块时使用它们。在消费方面,一个流行的库称为Oboe.js,在服务器端,您基本上需要在要发送或可用时在响应线路上写入部分数据。
对于这两种方法,Rx对于处理服务器端的流逻辑都是有用的。您将片段建模为流(处理错误等),最终在订户中将单个发射写在导线上,在Observable完成时关闭响应。
在客户端,可以将EventSource事件包装在新的Observable中(通过
Rx.Observable.create()),并作为流进行进一步处理。Oboe.js事件也可以转换为Observables(通过
Rx.Observable.fromEvent()。



