Начало работы с NodeJs Fetch API

Feb 13 2023
Fetch API — это современный интерфейс для получения ресурсов в веб-браузере. Он предоставляет способ делать HTTP-запросы из JavaScript и обрабатывать ответы с помощью промисов.

Fetch API — это современный интерфейс для получения ресурсов в веб-браузере. Он предоставляет способ делать HTTP-запросы из JavaScript и обрабатывать ответы с помощью промисов. Fetch API также доступен в Node.js через модуль node-fetch. В этой статье мы рассмотрим, как использовать Fetch API в Node.js.

Установка узла-выборки:

Прежде чем мы начнем использовать Fetch API в Node.js, нам нужно установить модуль node-fetch. Это можно сделать с помощью npm, выполнив следующую команду:

npm install node-fetch

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

Теперь, когда у нас установлен и необходим модуль node-fetch, мы можем использовать Fetch API для выполнения HTTP-запросов. Самый простой пример создания запроса показан ниже:

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

Передача параметров для получения:

Функция fetch принимает второй необязательный аргумент, который можно использовать для передачи параметров в запрос. Эти параметры можно использовать для установки заголовков, установки метода запроса и многого другого. Вот пример, который задает метод запроса POST и включает полезную нагрузку JSON в тело запроса:

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));

Обработка ошибок:

Fetch API возвращает обещание, которое разрешается в объект Response, даже если ответ указывает на ошибку. Это означает, что нам нужно проверять код состояния ответа и обрабатывать ошибки вручную. Вот пример того, как обрабатывать ошибки:

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));

Заключение:

Fetch API — это мощный инструмент для выполнения HTTP-запросов в Node.js.
Для дальнейшего чтения:https://www.npmjs.com/package/node-fetch