使用 fetch 等待来自 AJAX url 的下一个响应,而无需再次轮询到服务器

Using fetch to wait for next response from AJAX url without polling again to the server

提问人:anjanesh 提问时间:2/24/2023 最后编辑:anjanesh 更新时间:2/24/2023 访问量:22

问:

如果我有一个像 https://jsonplaceholder.typicode.com/users 这样的 URL,它会返回 10,000 个 JSON 对象而不是 10 个,或者说更简单的 100 个完整格式的 JSON 字符串,这需要 1 分钟才能从数据库中获取 100 个 JSON 字符串中的每一个,我如何在客户端 javascript 上使用 fetch 来保持“等待”来自服务器的下一个响应,直到达到 100(为了简单起见,为 100, 将根据上次 JSON 刺痛的消息停止)?

大多数长轮询示例都定期使用轮询

正如你所看到的,subscribe 函数进行 fetch,然后等待 response,处理它并再次调用自身。

if (response.status == 200)
// Call subscribe() again to get the next message
await subscribe();

这不是我想要的。

编辑:我知道这可以使用 websockets 轻松实现,但这需要我从我的常规 Django 服务器为 ws: 协议创建另一个服务器 8000 ?我希望创建一个 django 端点 REST URL 以定期返回数据,这需要花费大量时间。

长轮询 反向 AJAX

评论


答: 暂无答案