Javascript 用于更新API调用值的setInterval的替代方法

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){

我目前正在使用setInterval每10秒调用一次API请求

但它不更新值,而是向页面添加值

我认为这是因为我在调用值时将代码设计为+=代码

我不知道该用什么来代替

我想看看它在工作

//代码在这里
变量时间=设置间隔(函数(){
常量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元素
  • 而不是
    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);