9

在我的一个 API 中,我主要返回一个结果(比如说分页 50 个结果)作为一个整体在一个json数组中,如下所示:

[{},{},{},{},{},...]

我想知道是否有更好的方法通过 HTTP2(因为它具有许多新的部分流式传输功能)和 Go 的 HTTP 服务器(在此项目中使用 Gin 中的 HTTPS)来执行此操作。

也许我可以分块每个{}结果并将它们作为流中的段发送?Angular 或 jQuery 中的 AJAX 调用如何知道交付了一个新块(换行符或某些字符标记?)?库中的哪个调用实际上可以处理这样一个多重承诺(它甚至存在吗?:P)?我能否以某种方式从 HTTP2 流功能中受益,以防止打开多个连接?

我的目标是让结果在它们进入时很好地进入列表。

更新

也许Keep-Alive以某种方式使用标头更容易让我们将连接保持打开一定的秒数,以便能够流式传输并触发许多较小的请求/响应?

4

1 回答 1

0

查找服务器发送的事件。它本质上是浏览器已经内置支持的分块响应。

于 2021-12-10T11:37:41.453 回答