API Call nur einmal beim Start

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

majesticc89

Mitglied
8 Mai 2017
94
0
6
30
Hallo Leute,
ich habe folgenden API Call erstellt (mit eurer Hilfe).


JavaScript:
apiCall = async () => {
  let res = await fetch('https://blockchain.info/ticker');
  let data = await res.json();
  document.getElementById("exchangecalc").value = data.USD['15m'];
  document.getElementById("btcusd").innerText = data.USD['15m'];
  document.getElementById("btceur").innerText = data.EUR['15m'];
  document.getElementById("btcgbp").innerText = data.GBP['15m'];
  document.getElementById("btccny").innerText = data.CNY['15m'];
  document.getElementById("btcrub").innerText = data.RUB['15m'];
};

setInterval(apiCall, 1000);
Wie bekomme ich es hin, dass die "exchangecalc" ID nur einmal beim Start der Website (bzw. beim Refresh) die Info holt und nicht jede Sekunde.
Funktioniert alles soweit, nur soll sich, in dem Fall der "Wechselkurspreis" nicht jede Sekunde aktualisieren, sondern nur einmal wenn die Website gestartet wird.

Danke
 
Zuletzt bearbeitet:

basti1012

Senior HTML'ler
26 November 2017
1.227
120
63
39
Minden
sebastian1012.bplaced.net
Zb mit einer if Abfrage
JavaScript:
var helfer=true;
apiCall = async () => {
  let res = await fetch('https://blockchain.info/ticker');
  let data = await res.json();
  if(helfer==true){
       console.log(data.USD['15m']);
       document.getElementById("exchangecalc").value = data.USD['15m'];
       helfer=false;
  }
  document.getElementById("btcusd").innerText = data.USD['15m'];
  document.getElementById("btceur").innerText = data.EUR['15m'];
  document.getElementById("btcgbp").innerText = data.GBP['15m'];
  document.getElementById("btccny").innerText = data.CNY['15m'];
  document.getElementById("btcrub").innerText = data.RUB['15m'];
};
setInterval(apiCall, 1000);
 
  • Like
Reactions: majesticc89

majesticc89

Mitglied
8 Mai 2017
94
0
6
30
Das hat funktioniert danke. Geht sowas nur mit dem "Umweg" über eine if-Abfrage oder gibt es dafür auch einen eigenen "Befehl" wie bspw. "setIntervall"?