Javascript 用于更新API调用值的setInterval的替代方法
我目前正在使用setInterval每10秒调用一次API请求 但它不更新值,而是向页面添加值 我认为这是因为我在调用值时将代码设计为+=代码 我不知道该用什么来代替 我想看看它在工作Javascript 用于更新API调用值的setInterval的替代方法,javascript,html,api,Javascript,Html,Api,我目前正在使用setInterval每10秒调用一次API请求 但它不更新值,而是向页面添加值 我认为这是因为我在调用值时将代码设计为+=代码 我不知道该用什么来代替 我想看看它在工作 //代码在这里 变量时间=设置间隔(函数(){ 常量url=”https://api.kraken.com/0/public/Ticker?pair=xbtusd“;//改变 这 到您的URL 获取(url,{mode:“cors”}) .然后(功能(响应){ if(response.status==200){
//代码在这里
变量时间=设置间隔(函数(){
常量url=”https://api.kraken.com/0/public/Ticker?pair=xbtusd“;//改变
这
到您的URL
获取(url,{mode:“cors”})
.然后(功能(响应){
if(response.status==200){//检查响应是否通过
response.json().then(函数(数据){
控制台日志(数据);
var price_USD=document.getElementById('price-USD');
var USDPrice='b核心价格:'+
((data.result.XXBTZUSD.c[0])*1.1).toFixed(2)+'$'+'';
价格_USD.innerHTML+=USD价格;
});
}否则{//响应不正常。请检查开发工具
日志(“响应失败?”);
控制台日志(响应);
}
});
const urleur=”https://api.kraken.com/0/public/Ticker?pair=xbteur“;//改变
将此链接添加到您的URL
获取(URLER,{mode:“cors”})
.然后(功能(响应){
if(response.status==200){//检查响应是否通过
response.json().then(函数(数据){
控制台日志(数据);
var price_USD=document.getElementById('price-USD');
var USDPrice='BTCEUR价格:'+
((data.result.XXBTZEUR.c[0])*1.1).toFixed(2)+'€'+'';
价格_USD.innerHTML+=USD价格;
});
}否则{//响应不正常。请检查开发工具
日志(“响应失败?”);
控制台日志(响应);
}
});
},10000);
好,所以我将+=更改为=
我划分了块,而不是两个价格都有一个块div,每个价格都有自己的div,我看到了两个bug
price_USD.innerHTML+=USDPrice代码>你可以做price\u USD.innerHTML=USDPrice代码>和price_EUR.innerHTML=EURPrice代码>
您是否需要每次更新文本
BTCUSD Price
?仅在价格本身周围放置一个span,并用更新它。innerHTML=yourNewPrice
事实上,正是这一点造成了问题
// Code goes here
var time = setInterval(function(){
const url = "https://api.kraken.com/0/public/Ticker?pair=xbtusd"; // Change
this
to your URL
fetch(url,{ mode: "cors"})
.then(function(response) {
if(response.status == 200) { // Check if response went through
response.json().then(function(data) {
console.log(data);
var price_USD = document.getElementById('price-usd');
var USDPrice = '<p>BTCUSD Price:' +
((data.result.XXBTZUSD.c[0])*1.1).toFixed(2) + '$' + '</p>';
price_USD.innerHTML += USDPrice;
});
} else { // Response wasn't ok. Check dev tools
console.log("response failed?");
console.log(response);
}
});
const urleur = "https://api.kraken.com/0/public/Ticker?pair=xbteur"; // Change
this to your URL
fetch(urleur,{ mode: "cors"})
.then(function(response) {
if(response.status == 200) { // Check if response went through
response.json().then(function(data) {
console.log(data);
var price_USD = document.getElementById('price-usd');
var USDPrice = '<p>BTCEUR Price:' +
((data.result.XXBTZEUR.c[0])*1.1).toFixed(2) + '€' + '</p>';
price_USD.innerHTML += USDPrice;
});
} else { // Response wasn't ok. Check dev tools
console.log("response failed?");
console.log(response);
}
});
},10000);