Node.js объявил, что они вводят поддержку fetch() в качестве экспериментального модуля с v17.5, и он будет широко доступен для использования с выпуском v18.
Что такое выборка()?
API fetch() предоставляет стандартизированный интерфейс для получения ресурсов, обычно через HTTP. Это клиент на основе обещаний, который поддерживает множество высокоуровневых функций HTTP, а также фокусируется на наиболее распространенном сценарии: отправке простых HTTP-запросов.
По своей сути API состоит из четырех интерфейсов.
- fetch() — точка входа, используемая для инициирования запросов
- Класс заголовков — работа с экземпляром заголовков HTTP-запроса/ответа.
- Класс запроса — представляет экземпляр исходящего запроса.
- Класс ответа — представляет входящий экземпляр ответа
Почему все так взволнованы?
Что ж, это означает, что в дальнейшем дополнительный модуль не понадобится, так как ядро Node.js теперь будет поддерживать API. Это устраняет огромные накладные расходы на добавление сторонней библиотеки (например, Axios, node-fetch и т. д.), а также доверяет им применение любых исправлений поддержки и уязвимостей по мере продвижения.
Мне удалось протестировать эту экспериментальную функцию, и вот несколько ее примеров.
Прежде всего, мне нужен узел v17.5 на моей машине. Для этого я использовал nvm (менеджер версий узлов) —
Обратите внимание, экспериментальный флаг. Он все еще находится в стадии разработки и будет доступен для полного использования с версией 18.
Я выполнил три теста (GET, POST и DELETE) -
ПОЛУЧАТЬ
ПОЧТА
УДАЛИТЬ
Все они работали как положено 🎉 и обратите внимание, что мне не пришлось импортировать ни один модуль. Это потому, что выборка добавлена как глобальная — https://github.com/nodejs/node/pull/41749
Это небольшое изменение в общей схеме вещей, но оно имеет огромное значение для всех, кто использует Node.js в качестве среды разработки.
Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.