繁体   English   中英

当服务器永不停止加载时,如何在 JavaScript 中存储来自 get 请求的初始文本/事件流响应?

[英]How can I store the initial text/event-stream response from a get request in JavaScript when the server never stops loading?

我正在尝试从 API 中检索一些简单的值。 这是请求网址:

https://pool.rplant.xyz/api2/poolminer2x/raptoreum/RThRfoQJg8qsoStLk7QdThQGmpbFUCtvnk/UlRoUmZvUUpnOHFzb1N0TGs3UWRUaFFHbXBiRlVDdHZua3x4

似乎服务器以某种方式将页面置于持续刷新状态。 无论是在浏览器中还是通过我的代码,加载永远不会完成,但我可以在浏览器中看到 JSON 响应。 大约一分钟后,另一个 JSON 响应会附加到浏览器中的原始响应。

这是我目前使用的代码片段,虽然我最多只等了 5 分钟,但它似乎永远不会终止。

var response = UrlFetchApp.fetch("https://pool.rplant.xyz/api2/poolminer2x/raptoreum/RThRfoQJg8qsoStLk7QdThQGmpbFUCtvnk/UlRoUmZvUUpnOHFzb1N0TGs3UWRUaFFHbXBiRlVDdHZua3x4")
var json = JSON.parse(response.getContentText())

有没有办法让我终止永无止境的循环并检索我已经拥有的作为响应?

编辑:

正如@JeremyThille 指出的那样,响应类型是text/event-stream但我仍然不确定谁来处理这种类型的响应。

看起来处理text/event-stream响应的正确方法通常是使用EventSource但是,我无法在 Google Sheets 中为我的用例使用外部库。

var source = new EventSource('https://pool.rplant.xyz/api2/poolminer2x/raptoreum/RThRfoQJg8qsoStLk7QdThQGmpbFUCtvnk/UlRoUmZvUUpnOHFzb1N0TGs3UWRUaFFHbXBiRlVDdHZua3x4');
source.addEventListener('message', function(e) {
  console.log(e.data);
}, false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM