Pierwsze kroki z interfejsem API pobierania NodeJs

Feb 13 2023
Fetch API to nowoczesny interfejs do pobierania zasobów w przeglądarce internetowej. Zapewnia sposób wysyłania żądań HTTP z JavaScript i obsługi odpowiedzi za pomocą obietnic.

Fetch API to nowoczesny interfejs do pobierania zasobów w przeglądarce internetowej. Zapewnia sposób wysyłania żądań HTTP z JavaScript i obsługi odpowiedzi za pomocą obietnic. Interfejs Fetch API jest również dostępny w Node.js za pośrednictwem modułu node-fetch. W tym artykule przyjrzymy się, jak używać Fetch API w Node.js.

Instalowanie pobierania węzła:

Zanim zaczniemy korzystać z Fetch API w Node.js, musimy zainstalować moduł node-fetch. Można to zrobić za pomocą npm, uruchamiając następujące polecenie:

npm install node-fetch

const fetch = require('node-fetch');

Teraz, gdy mamy już zainstalowany i wymagany moduł node-fetch, możemy użyć Fetch API do wysyłania żądań HTTP. Najbardziej podstawowy przykład złożenia wniosku pokazano poniżej:

fetch('https://jsonplaceholder.typicode.com/posts')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

Przekazywanie opcji do pobrania:

Funkcja pobierania przyjmuje drugi opcjonalny argument, którego można użyć do przekazania opcji do żądania. Te opcje mogą służyć do ustawiania nagłówków, ustawiania metody żądania i nie tylko. Oto przykład, który ustawia metodę żądania na POST i zawiera ładunek JSON w treści żądania:

const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1
  })
};

fetch('https://jsonplaceholder.typicode.com/posts', options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

Błędy obsługi:

Fetch API zwraca Obietnicę, która jest tłumaczona na obiekt Response, nawet jeśli odpowiedź wskazuje na błąd. Oznacza to, że musimy sprawdzić kod statusu odpowiedzi i ręcznie obsłużyć błędy. Oto przykład obsługi błędów:

fetch('https://jsonplaceholder.typicode.com/posts/invalid-url')
  .then(response => {
    if (!response.ok) {
      throw new Error(response.statusText);
    }
    return response.json();
  })
  .then(data => console.log(data))
  .catch(error => console.error(error));

Wniosek:

Fetch API to potężne narzędzie do wysyłania żądań HTTP w Node.js.
Do dalszej lektury:https://www.npmjs.com/package/node-fetch