#javascript #api #http #get #request
Вопрос:
Я пытаюсь извлечь некоторые простые значения из API. Это URL-адрес запроса:
Кажется, что каким-то образом сервер переводит страницу в состояние постоянного обновления. Будь то в браузере или через мой код, загрузка никогда не завершается, но я вижу ответ 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
но я все еще не уверен, кто будет обрабатывать этот тип ответа.
Комментарии:
1. Я попробовал с Postman, и
Content-Type
возвращенный результат естьtext/event-stream
. Это объясняет, почему браузер никогда не прекращает загрузку: это поток. Тем не менее, я впервые вижу это2. @JeremyThille Ах, ха-ха, да, сначала я не видел вашего комментария, но тоже только что заметил то же самое. Я не уверен, как с этим справиться
text/event-stream
. Спасибо, что изучили это!
Ответ №1:
Похоже, что правильный способ обработки text/event-stream
ответов обычно с EventSource
помощью однако я не могу использовать внешние библиотеки для моего варианта использования в таблицах Google.
var source = new EventSource('https://pool.rplant.xyz/api2/poolminer2x/raptoreum/RThRfoQJg8qsoStLk7QdThQGmpbFUCtvnk/UlRoUmZvUUpnOHFzb1N0TGs3UWRUaFFHbXBiRlVDdHZua3x4');
source.addEventListener('message', function(e) {
console.log(e.data);
}, false);