Итак, я создаю веб-сайт отслеживания коронавируса, и, хотя я могу отображать данные, например текущие случаи, у меня возникают проблемы с автоматическим обновлением этих данных без необходимости обновлять sh страницу (данные могут обновляться если я обновлю sh). Я думаю, что просто неправильно это использую, но не знаю, как это исправить. Вот мой код HTML для отображения данных:
<p style="font-size: 60px; color: #F5F2D0; text-align: center; font-weight: 600; margin-bottom: 0"; id="total_confirmed">
</p>
Вот как я показываю количество обращений на веб-сайте. Вот мой код javascript:
// create an async function to handle promised based execution order
(async()=>{
// define some globals
var update = async()=>{
// download the data
console.log('Report: Download Started');
var url = 'https://cov19.cc/report.json?v='+Math.random();
var res = await fetch(url);
var report = await res.json();
// set the last updated time
$('#last_updated').text(moment.utc(report.last_updated).fromNow());
// get variable data
var world = report.regions.world;
var total_confirmed = report.regions.world.totals.confirmed;
document.getElementById("total_confirmed").innerHTML = total_confirmed.commaSplit();
var total_critical = world.totals.critical;
document.getElementById("total_critical").innerHTML = total_critical.commaSplit();
var total_deaths = world.totals.deaths;
document.getElementById("total_deaths").innerHTML = total_deaths.commaSplit();
var total_active = world.totals.confirmed - (world.totals.deaths + world.totals.recovered);
document.getElementById("total_active").innerHTML = total_active.commaSplit();
var total_recovered = world.totals.recovered;
document.getElementById("total_recovered").innerHTML = total_recovered.commaSplit();
// hide the loading icon
$('#loader').hide();
};
// store last updated date
var old_last_updated;
// check for the last update
var update_check = async()=>{
console.log('Checking for updates');
var res = await fetch('https://cov19.cc/last_updated.txt');
var last_updated = await res.text();
// if the last updated date is newer than the stored last updated date then update the variable and update the table with the new data
if(old_last_updated == last_updated)return;
old_last_updated = last_updated;
update();
};
// initialize
update_check();
// check for updates every 60 seconds
setInterval(update_check, 60000);
})();
//cov19 prototypes
String.prototype.commaSplit = function() {
return this.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
};
Number.prototype.commaSplit = String.prototype.commaSplit;
В консоли веб-сайта будет написано Проверка обновлений , поэтому я знаю, что функция запущена, но он просто не обновляет sh данные автоматически. Мне нужно обновить sh страницу, чтобы числа изменились. Спасибо