拆分长时间运行的多行请求

时间:2018-12-27 14:24:48

标签: javascript rest api vue.js flask

我有一个python Flask服务器和一个javascript Vue.js客户端。

服务器是REST API,它具有运行时间较长(10秒)的请求,该请求以以下形式的json进行响应:

{
  "foo": "bar",
  "data": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
}

之所以需要这么长的时间,是因为它正在与第三方服务联系以获取数组中的数据。此第三方服务是分页的,返回每个页面大约需要1秒,这就是我获得响应数据数组的所有10个部分的方式。因此,潜在的是,仅需等待1秒,即可获得阵列的1/10部分。我想尽快返回它,以便客户端可以显示第一个条目,但保持连接打开状态,并在填充剩余事件时不断填充它们,然后在所有事件完成时关闭。

假设结果是一个10行表,例如,在time = 1s我将显示第1行,time = 2s添加第2行...等等,等等...

在后面的部分中获得的数据可能会对之前获得的数据产生反感。因此,我希望能够在time = 8s的同时添加第8行并同时更新第2行。

从服务器和客户端的角度来看,拆分这样一个长期运行的请求的最佳实践是什么?上证所Websocket?流?

就字节大小而言,数组不是特别长,纯粹是时间问题。

PS:我想尽可能避免重构第三方请求(例如,分成10个并行请求,因为我不一定事先知道分页参数)

0 个答案:

没有答案