我有一个很大的API请求,这给了我大约1000个结果。由于此请求太大,我需要将响应分成几个部分,因此速度更快。我想查询1000个结果,但是像客户端
一样流式传输数据在API请求中,您不允许放置任何参数,因此您可以检索全部帖子。响应是一个与Wordpress基本相同的JSON(但不是Wordpress)
我已经尝试了10到10个结果中的相同请求,但是我必须做几次查询才能实现预期的行为。
我想从1000个结果中获得一个请求。
fetch(api)
.then((data) => ...)
.then((data) => {
//When loaded first 10 records show
//When loaded next 10 records show
...
// Until the 1000
})
有什么办法可以实现?
答案 0 :(得分:0)
后端可以通过多种方式实现流/分页,而JS的答案取决于您查询的后端支持哪种方式。
由于您提到要在评论中查询Wordpress,因此在此我将举一个Wordpress示例,但是其他API可能具有不同的处理流/分页方式。
WordPress API支持分页,如下所示:
https://developer.wordpress.org/rest-api/using-the-rest-api/pagination/
您需要做的是专门请求具有偏移量的页面以获取那部分结果,例如:
/wp/v2/posts?per_page=100&offset=1000
这将获得帖子#1000之后的帖子列表,其中每个页面有100个结果。
对于其他API,您需要为我们提供更多详细信息,以确定如何流式传输结果。
答案 1 :(得分:0)
了解您如何获得结果非常重要。例如,如果您正在使用流式传输,则数据是同时传输的,您将不必处理此类问题。
您可以在下面的链接中查看后端数据流。
WebSocket协议使Web客户端(例如浏览器)与Web服务器之间的交互具有较低的开销,从而促进了往返于服务器的实时数据传输
答案 2 :(得分:0)
最后,我所做的工作是在不同页面的许多查询中检索到的,数据表是使用来自新查询的新记录逐渐更新的