SSE本质上是使用
HTTP长链接以及
ReadableStream实现的一种单向数据流方案,客户端可以保持与服务器的单向连接,并且能够持续接收服务端推送的实时事件,而不需要客户端不断地向服务器发送请求来获取数据更新。而在浏览器中实现了基本的
EventSource对象,可以很方便地处理服务端的响应,服务端自然也可以通过不停地对
Response对象写数据来实现流式响应。而在我们实际的业务需求中,无论是服务端和客户端都不是那么理想的场景: