Fetch API стане доступним у Node.js

Про це повідомив член Технічого керівного комітету Node.js Michaël Zasso у Twitter. Відповідний pull request уже об’єднано в master.



Спочатку Fetch API буде доступне із флагом —experimental-fetch, який додасть fetch як глобальну змінну. Очікується, що воно стане частиною основного API починаючи з 18 версії.

Fetch API значно спрощує роботу із HTTP-запитами і дозволить обійтись без сторонніх бібліотек, таких як node-fetch чи axios. Оскільки Fetch API уже досить давно доступне у браузерах, така зміна дає можливість використовувати однаковий підхід для серверного і клієнтського JavaScript.

👍ПодобаєтьсяСподобалось4
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Интересно как релатив пас будет работать?

Ага, это не будет работать, ну как бы и все. Многие релатив пас юзают активно.

Хотя это наверное к лучшему, меньше инфинит лупов будет

о чем речь? не совсем понимаю, что означает relative path применительно к нетворк запросам. Это из обработчика запроса для URL1 вызвать обработчик для URL2 через сеть? разве не проще вызвать функцию?
PS с Нодой знаком понаслышке только. Может, я не правильно понял?

Часто на фронте пишут так fetch("/api/users")

Если цель чтобы юзать код и там и там, то должно быть решение для этого в ноде где нет base url

ага, значит, я правильно понял. Но даже если был бы base URL, запрос на самого себя через Network layer это ж оверкилл, не(коннекшен + валидация на том конце + генерация + сериализация + потом парсинг ответа)? Разве не лучше вызывать определенную функцию из другого модуля напрямую?

конечно оверкил, но допустим ты запускаешь jest для тестов, а это node, и лучше если бы оно там заработало, чем переписывать код чтобы в тестах работало

в юнит-тестах моки ж :) а если это какой-то puppeteer, то там тем более проблем быть не должно

хм, ясно, не сталкивался. а с XHR работают моки на относительные URL через msw?

дозволить обійтись без сторонніх бібліотек, таких як node-fetch чи axios.

Да, импортировать пакет для серверной платформы это проблема, очень важная фича :) Тем более встроенные фичи всегда минималистские и консервативные и скорее всего будут уступать в возможностях.

Если брать конкретно то, о чем данная новость, то данный клиент построен на базе undici, который в свою очередь написан грамотно и возможностей у него ни чуть не меньше, чем в упомянутых пакетах.

Да и встроенные пакеты гораздо проще использовать, чем искать нужное тебя в нпм помойке.

данный клиент построен на базе undici

Ну библиотека более низкоуровневая, чем те пакеты — это ведь http агент. Да и втулить этот undici в тот же аксиос уже звучали. Хотя не совсем понятно каким макаром кастомная реализация на wasm стала более производительней нативной реализации- сетевой стек в первую очередь должен быть вылизан до блеска.

чем искать нужное тебя в нпм помойке.

В данном кейсе особо искать не надо то, что в топ 10. Но, конечно, за плечами новый модуль не носить, особенно если он опирается на более производительный агент.
P.S. Да, НПМу не хватает какого то каталога проверенных и отобранных модераторами решений по категориям, типа топ 10 http клиентов, топ 10 очередей. И закладки бы тоже не помешали...

Підписатись на коментарі