У вас есть какой-то запутанный код.Я думаю, что вы намереваетесь, чтобы ваш fetch вызывался каждые 3 секунды.
function getData(prefix, url) {
$.getJSON(url, function(data) {
$.each(data, function(key, val) {
$('.' + prefix + '-' + key.toLowerCase()).html(val);
});
});
}
Это определяет, вы получаете функцию.У вас есть пример вызова как
getData('dash', 'https://min-api.cryptocompare.com/data/price?fsym=DASH&tsyms=USD');
Вы неправильно используете setInterval, см. https://www.w3schools.com/jsref/met_win_setinterval.asp
У вас есть 2 строки здесь
setInterval(getData, 3000);
$(function() { getData(); });
Это неверно,getData - это только имя вашей функции.Функция setInterval должна принимать вашу анонимную функцию с определенными параметрами, такими как
setInterval($(function() {
getData('dash', 'https://min-api.cryptocompare.com/data/price?fsym=DASH&tsyms=USD');
}), 3000);
Для вашей скрипки JS это работает для меня (удалена функция jquery и заменена на обычную js lambda)
function getData(prefix, url) {
$.getJSON(url, function(data) {
$.each(data, function(key, val) {
$('.' + prefix + '-' + key.toLowerCase()).html(val);
});
});
}
setInterval(function() {
getData('btc', 'https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD');
}, 3000);