场景是这样的 - 我有一个我正在用 node.js 编写的前端 Web 服务器。我有一个尚未编写的中间层内部 API 层,它可以用任何东西编写。内部 API 是唯一允许与数据存储(恰好是关系数据库)对话的东西。
免责声明:我是 node.js 初学者。
node.js 想要异步进行数据访问——这使得像 Database.query.all 这样的调用效率低下,因为响应回调在整个列表组装完成之前不会启动。我读过的文档表明,最好一次将结果流式传输给客户端。
我想知道如何编写前端和中间层 http 内部 API,以便我可以利用 node.js 的异步性,here。
我想问题是“如何通过 http 流式传输结构化数据”?我想这就是我要求支持的内部 API 的功能。
我是不是该:
- 让前端请求一个 ID 列表,然后向后端分别发出一个请求?听起来很粗糙而且很健谈,而且我看不到请求会按照我想要的顺序返回的保证,所以我必须等到我把所有东西都放在前端......?
- 让前端针对数据页面的内部 API 发出一系列请求,并将每个块视为一个流段......?
- 只为第一个屏幕的价值获取足够的数据,然后请求后续的块,当它到达时将每个块写入列表的末尾?
- 更聪明的东西!?
(注意:请不要说“摆脱中间层,这样你就可以直接与数据库对话”——这不是一个选项)