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

Node.js: przypisywanie wyniku htttp.get do zmiennej

VPS Starter Arubacloud
0 głosów
189 wizyt
pytanie zadane 18 października 2020 w JavaScript przez dkrakowski Nowicjusz (140 p.)
zmienione kategorie 18 października 2020 przez ScriptyChris

W jaki sposób przypisywać do zmiennej wynik działania metody GET z modułu HTTP/HTTPS? Dla przypisania wartości do zmiennej przy próbie jej wyprowadzenia w konsoli wyświetlany jest tylko "undefined" dla zmiennej "jsonData", jeżeli wartość "parsedData" wypirintuje od razu w "res.on('end')" to wyświetla się prawidłowo, jak przypisywać odpowiedź do zmiennej w celu dalszego przetwarzania? 

const http = require('https');
var jsonData;
http.get('https://gorest.co.in/public-api/categories', (res) => {
    const { statusCode } = res;
    const contentType = res.headers['content-type'];

    let error;
    // Any 2xx status code signals a successful response but
    // here we're only checking for 200.
    if (statusCode !== 200) {
        error = new Error('Request Failed.\n' +
            `Status Code: ${statusCode}`);
    } else if (!/^application\/json/.test(contentType)) {
        error = new Error('Invalid content-type.\n' +
            `Expected application/json but received ${contentType}`);
    }
    if (error) {
        console.error(error.message);
        // Consume response data to free up memory
        res.resume();
        return;
    }

    res.setEncoding('utf8');
    let rawData = '';
    res.on('data', (chunk) => { rawData += chunk; });
    res.on('end', () => {
        try {
            const parsedData = JSON.parse(rawData);
            jsonData = parsedData;
        } catch (e) {
            console.error(e.message);
        }
    });
}).on('error', (e) => {
    console.error(`Got error: ${e.message}`);
});

console.log(jsonData);

 

1 odpowiedź

0 głosów
odpowiedź 18 października 2020 przez Wiciorny Ekspert (277,800 p.)
https://jcubic.pl/2018/05/asynchronicznosc-javascript-obietnice.html
poczytaj o asynchronicznosci, obiekcie Promise

Podobne pytania

0 głosów
1 odpowiedź 305 wizyt
0 głosów
2 odpowiedzi 401 wizyt
pytanie zadane 29 marca 2022 w JavaScript przez KubaLaska Początkujący (350 p.)
+2 głosów
2 odpowiedzi 401 wizyt

93,081 zapytań

142,045 odpowiedzi

321,464 komentarzy

62,427 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...