Попробовал fetch, конечно надо больше кода писать, но ведь можно обернуть все методы в уже готовые функции и будет тот же axios на выходе. И я даже нашел этот способ более интересным, поскольку раскрывается много магии, которая в axios происходит под капотом и я об этом даже не догадывался.
Какие преимущества axios перед fetch?
Например, поддержка браузеров. В принципе, есть полифил для fetch я так понял, но axios использует те же промисы, а значит поддержка примерно такая же (IE не поддерживает ни fetch ни промисы, например).
Какие подводные камни если перейду полностью на fetch? Кто-то использует в проде, поделитесь мнением?
можно условно считать, что fetch это низкоуровневая реализация, а axios - более высокоуровневая библиотека. Fetch он вам предоставляет минимум для работы с запросами, в аксиос есть дополнительные интересные плюшки. И вы вероятно правы, - если написать обертку над фетчем (а ее скорее всего придется писать в более или менне непростом сайте), то получится как минимум кастрированный аксиос, как максимум — что-то лучше.
Использую fetch в проде, проблем нет. Единственный неочевидный момент - промис в fetch реджектится только при ошибках сети или ошибках cors, поэтому мне пришлось написать небольшую обертку, которая разбирает статус ответа, как мне нужно
-Отменяемость запросов
-Единый код для браузера и nodejs
Хотя как по мне axios не применим на nodejs так как доступ к кукам сделан через одно место, а для клиента есть более легкие альтернативы. Например https://github.com/developit/unfetch