Hejka, robie sobie hobbistycznie stronkę do przeliczania kryptowalut i napotkałem problem.
Dane z api mam wyciągnietę poprzez await fetch w funkcji async, teraz robię kalkulator, tylko chciałbym korzystać w tym kalkulatorze ze zmiennych wyciągnietych z api, a nie ręcznie wpisywanych, tylko nie mam pojęcia jak to zrobić na tyle zgrabnie żeby nie tworzyć dziesiątek funkcji i burdelu w kodzie, ale tak żebym mógł się w kalkulatorze odwołać do kilkunastu wartości z funkcji w której je wyciągam. Nie wiem nawet jak przypisać zmienną np. data.LSK.PLN w której siedzi wartość danej waluty, do mojego kalkulatora w którym ręcznie przypisuje wartości, proszę o pomoc bo jak widać jestem trochę zielony w js'ie ale kombinuje ile mogę.
Nie wiem czy ten kalkulator wrzucać do środka tej funkcji async z fetchem, szukam prawidłowego rozwiązania i będę wdzięczny za wszelkie wskazówki dla laika, dziękuje i pozdrawiam gorąco.
api js
const hrf = "https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,ETH,LSK&tsyms=,USD,PLN";
async function ceny() {
const response = await fetch(hrf);
const dane = await response.json();
console.log(data.BTC.PLN); //wyswietlanie wyniku konsola
document.getElementById('BTCpln').textContent = data.BTC.PLN; // wyswietlanie wyniku w html
//no i takich wartości mam powyciąganych ponad 20
}
ceny();
kalkulator:
async function przeliczaj() {
var krok1;
var krok2;
var pln = 1; // tu bym chciał przypisać zmienne jak data.BTC.PLN
var eur = 4;
var usd = 3;
switch (przelicznik.co.value)
{
case "PLN":
krok1 = przelicznik.ile.value*pln;
break;
case "EUR":
krok1 = przelicznik.ile.value*eur;
break;
case "USD":
krok1 = przelicznik.ile.value*usd;
break;
default:
krok1 = "nie udało się:(";
}
switch (przelicznik.naCo.value)
{
case "PLN":
krok2 = krok1/pln;
break;
case "EUR":
krok2 = krok1/eur;
break;
case "USD":
krok2 = krok1/usd;
break;
default:
krok2 = "nie udało się:(";
}
przelicznik.wynik.value = krok2;
}
<form action="" name="przelicznik">
Co chcesz przeliczyć:
<input type="text" name="ile" size="20" />
<select name="co">
<option name="PLN" value="PLN">PLN</option>
<option name="EUR" value="EUR">EUR</option>
<option name="USD" value="USD">USD</option>
</select><br /><br />
Na co chcesz przeliczyć:
<input type="text" name="wynik" size="20" disabled="disabled" />
<select name="naCo">
<option name="PLN" value="PLN">PLN</option>
<option name="EUR" value="EUR">EUR</option>
<option name="USD" value="USD">USD</option>
</select><br /><br />
<input type="button" value="Przelicz jednostki" onClick="przeliczaj()" />
</form>