Комментарии 20
Где то мир явно свернул не туда, если в Браузере, основой которого является HTPP запросы нам нужна библиотека для работы с ними.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Что уж там. Самой большой ошибкой человечества было изобретение колеса. Ведь бегали же нормально, зачем что-то придумывать!
дело в том что есть fetch который умеет в промисы но не умеет в отмену запросов и есть xhr который не умеет в промисы зато умеет в отмену запросов. а есть библиотеки которые могут и в промисы и в отмену запросов
Неужели стандартного fetch недостаточно?
там нельзя отменить запрос
Если у вас задумано некое server-side исполнение кода (не важно в каком контексте) — то случается небольшая проблемка: fetch в контексте сервера просто нет. И либо велосипед, либо таки взять одну из библиотек, которая умеет и в браузере и в ноде работать единообразно.
Так что вот шаг влево, шаг вправо — и всё быстро становится гораздо менее очевидным и более сложным.
Так что вот шаг влево, шаг вправо — и всё быстро становится гораздо менее очевидным и более сложным.
fetch никак не обрабатывает статус-коды и требует специального обращения, чтобы распарсить json.
function readJson () {
return fetch('/path/to/api')
.then(response => {
if (!response.ok) {
throw new Error("HTTP error " + response.status);
}
return response.json();
})
.then(json => {
console.log(json);
})
.catch(error => {
console.error(error)
})
}
Код взят отсюда: https://stackoverflow.com/a/51859415/1297743
В библиотеках эти штуки уже идут из коробки, в результате код сверху сокращается до одной строчки:
axios.get('/path/to/api').then(data => console.log(data), err => console.error(err)
Вам не надоело высасывать статьи из пальца?
А приведите пример, когда axios сложно пользоваться. Что-то я за года 3 активного использования сложностей не увидел.
Объясните нубу пожалуйста, описанные в статье библиотеки нужны для пересылки данных из браузера на бекенд? У меня есть небольшой опыт реализации приложения на стеке MEAN (ангуляр первый), там я отправлял все данные с фронтенда на бекенд с помощью ангуляра.
Добавлю еще две полезные библиотеки:
- https://github.com/developit/unfetch – минималистичный полифилл fetch (500 байт)
- https://github.com/sindresorhus/ky – обертка над fetch, включает обработку не-200 статус-кодов, облегчает работу с JSON (1 Кб)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Обзор пяти HTTP-библиотек для веб-разработки