如何检查API变量是否在js中更新



我已经使用rapidapi covid api制作了一个covid网站应用程序,所以现在我正在努力,我不知道如何编码,如果covid统计数据未更新不更改日期,感谢反馈。下面是我的代码:

const settings = {
async: true,
crossDomain: true,
url: "https://covid-193.p.rapidapi.com/statistics?country=GEORGIA",
method: "GET",
headers: {
"x-rapidapi-key": "bc0019aac3msh86f039dbf1157b6p1b7843jsn2aaad402201d",
"x-rapidapi-host": "covid-193.p.rapidapi.com",
},
};
$.ajax(settings).done(function (response) {

console.log(response);
$("#date").text(response.response[0].day);
$("#infected").text(
Number(response.response[0].cases.new)
.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,")
);
$("#death").text(
Number(response.response[0].deaths.new)
.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,")
);
$("#tests").text(
Number(response.response[0].tests.total)
.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,")
);
$("#country").text(response.parameters.country);
$("#recovered").text(
Number(response.response[0].cases.recovered)
.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,")
);
$("#active").text(
Number(response.response[0].cases.active)
.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,")
);
$("#totald").text(
Number(response.response[0].deaths.total)
.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,")
);
});
enter code here

在更新每个值之前,检查它是否与上一次不同。然后,只有当其中一个值发生变化时才更新日期。

function get_number(str) {
return str.toString()
.replace(/(d)(?=(ddd)+(?!d))/g, "$1,");
}
$.ajax(settings).done(function(response) {
console.log(response);
let changed = false;
let cur = response.response[0];
let new_infected = get_number(cur.cases.new);
if (new_infected != $("#infected").text()) {
changed = true;
$("#infected").text(new_infected);
}
let new_deaths = get_number(cur.deaths.new);
if (new_deaths != $("#death").text()) {
$("death").text(new_deaths);
changed = true;
}
let new_tests = get_number(cur.tests.total);
if (new_tests != $("#tests").text()) {
$("tests").text(new_tests);
changed = true;
}
let new_country = response.parameters.country;
if (new_country != $("#country").text()) {
$("#country").text(new_country);
changed = true;
}
let new_recovered = get_number(cur.cases.recovered);
if (new_recovered != $("#recovered").text()) {
$("#recovered").text(new_recovered);
changed = true;
}
let new_active = get_number(cur.cases.active);
if (new_active != $("#active").text()) {
$("#active").text(new_active);
changed = true;
}
let new_totald = get_number(cur.deaths.total);
if (new_totald != $("#totald").text()) {
$("#totald").text(new_totald);
changed = true;
}
if (changed) {
$("#date").text(response.response[0].day);
}
});

最新更新