事件流 (Event Stream)、短轮询 (Short Polling) 与长轮询 (Long Polling)
获取大量数据会给用户带来问题。如果用户等待响应的时间过长,体验就会显得很慢。你可以使用不同的方法来处理这些数据请求。
短轮询 (Short Polling) 客户端以固定的时间间隔向服务器发送请求。服务器立即响应每个请求,并告知客户端是否存在新数据。由于请求频繁,这种方法会消耗大量资源。
长轮询 (Long Polling) 客户端向服务器发送请求。服务器保持该请求处于开启状态,直到新数据到达或发生超时。这减少了空响应的数量。
事件流 (Event Stream, SSE) 大型数据集会导致漫长的等待时间。如果你有 100,000 行数据,一次性全部发送会很慢。你可以通过分块发送数据来改善用户体验。
事件流的工作方式如下:
- 客户端与服务器建立连接。
- 连接保持开启状态。
- 服务器在数据准备就绪时发送一小部分数据。
- 用户可以立即看到结果,而无需等待完整的数据集。
这种方法会保持连接处于活跃状态,直到服务器完成所有事件的发送。它使应用程序感觉快速且响应迅速。
来源:https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n