• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[API] Javascript -pomoc z kodem

VPS Starter Arubacloud
0 głosów
164 wizyt
pytanie zadane 2 grudnia 2019 w JavaScript przez saseta00 Użytkownik (700 p.)

Hejka, mam kod js'a który pobiera z api giełdy  w tym przypadku cene bitcoina. Mam pytanie w jaki sposób wyprowadzić możliwość korzystania z 'data.xxx' poza tą funkcję? Jestem laikiem i nie mogę sobię z tym poradzić ponieważ standardowe przypisywanie zmiennej nie chce mi przejść bo wywala błąd ze 'await' musi być w async funkcji, a chciałbym powyciągać sobie ceny wielu kryptowalut pod zmienne, z których będę mógł się odnosić we wszystkich funkcjach.

Jeszcze jedno pytanie, które tyczy się tego że aby w ogóle mi to działało w przeglądarce i nie wywalało błędu "Access-Control-Allow-Origin "  musiałem dodać wtyczkę do chrome i dodać za pomocą  niej domene bitbaya do strefy zaufanej, a żeby całkowicie pozbyć się tego problemu w javascripcie trzeba zastosować odpowiednie 'headersy' tylko że za wiele mi to nie mówi, a obawiam się że będę musiał później robić wszystko od nowa, albo w czymś innym, aby się to komuś normalnie na stronie mogło wyświetlić. Robię to hobbistycznie i w celach edukacyjnych, dziękuje za każdą pomoc, prostym językiem który dotrze do takich laików jak ja. 

const link = "https://bitbay.net/API/Public/BTCPLN/ticker.json";
 
async function btcpln() {
 
     
    const response = await fetch(link);
    const data = await response.json();
    console.log(JSON.stringify(data));
    console.log(data.max, data.min);     // w konsoli sobie wyswietla
    document.getElementById('btcprice').textContent = data.bid;  // html: <span id='btcprice'> </span>
    document.getElementById('btcprice2').textContent = data.max;  // -html: <span id='btcprice2'>  </span>
    
}
btcpln();

1 odpowiedź

0 głosów
odpowiedź 2 grudnia 2019 przez michal_php Stary wyjadacz (13,700 p.)
Rozumiem, że chcesz ze zmiennej pobraniej zrobi zmienna globalna?
komentarz 2 grudnia 2019 przez saseta00 Użytkownik (700 p.)

Chyba tak, przynajmniej brzmi to jak rozwiązanie mojego problemu laugh

komentarz 2 grudnia 2019 przez michal_php Stary wyjadacz (13,700 p.)
To zadam pierwsze pytanie czemu chcesz robić zmienną globalna ( zmienne globalne nie są zbyt dobrym rozwiązaniem ) ? Po drugie jeśli chcesz to przekazać dalej możesz np: utworzyć inną funkcje i do niej przekazać argumenty ( w sensie to co otrzymasz z api)
komentarz 2 grudnia 2019 przez saseta00 Użytkownik (700 p.)
a więc tak, chciałbym pobrać jeszcze kursy zwykłych walut z api nbp, dodatkowo z innych giełd kryptowalut dane których na bitbayu nie dostane, więc kolejne funkcje i teraz przy tworzeniu np. kalkulatora, robię kolejną funkcję i znowu muszę odwoływać wklepywać cały kod z połączeniem do wszystkich api aby w danej funkcji korzystać z pewnych rzeczy, czy to jest potrzebne? Nie wiem czy zmienna globalna jest tutaj rozwiązaniem, bo w js'ie jestem bardzo amatorsko, po prostu chciałbym kilka wyników umieścić na stronie i próbowałem bawić się zmiennymi ale nie do końca to wychodzi, bo 'await' jak pisałem, musi być w funkcji async, więc to chyba z niej trzeba wyciągnąć to na zewnątrz funkcji aby później korzystać w innych tak? Tylko nie wiem jak, dlatego proszę o pomoc
komentarz 2 grudnia 2019 przez michal_php Stary wyjadacz (13,700 p.)
Czekaj rozumiem ,że chcesz pobrać kilka zmiennych z różnych serwerów ?
komentarz 2 grudnia 2019 przez saseta00 Użytkownik (700 p.)
póki co nie jest to konieczne, po prostu chce wynik ceny kryptowaluty przypisać do zmiennej i korzystać z niej w innych funkcjach, wykonalne patrząc na ten kod?
komentarz 2 grudnia 2019 przez michal_php Stary wyjadacz (13,700 p.)

Powiem tak , możesz tą zmienna sobie podstawić np do:

<input type="hiddyn" id="val" />

I tu możesz sobie do inputa przekazać zmienna i ona tam ciągle będzie mało możesz ją w każdej akcji pobrać i obrabiać dowolnie , a i tak baza ( czyli pierwotna wartość ) pozostanie w input.

Podobne pytania

0 głosów
1 odpowiedź 826 wizyt
pytanie zadane 29 września 2020 w JavaScript przez Chlipchlip Użytkownik (850 p.)
0 głosów
1 odpowiedź 167 wizyt
0 głosów
0 odpowiedzi 770 wizyt
pytanie zadane 29 kwietnia 2017 w JavaScript przez moofi Początkujący (470 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...