Llamo al servicio web usando fetch pero lo mismo que puedo hacer con la ayuda de axios. Entonces ahora estoy confundido. ¿Debo ir por axios o buscar?
ajax
reactjs
xmlhttprequest
es6-promise
es6-modules
Gorakh Nath
fuente
fuente
Respuestas:
Fetch y Axios son muy similares en funcionalidad, pero para una mayor compatibilidad con versiones anteriores, Axios parece funcionar mejor (por ejemplo, fetch no funciona en IE 11, consulte esta publicación )
Además, si trabaja con solicitudes JSON, las siguientes son algunas diferencias con las que me topé.
Obtener solicitud de publicación JSON
Solicitud posterior a Axios JSON
Entonces:
Espero que esto ayude.
fuente
Axios request is ok when status is 200 and statusText is 'OK'
¿Qué pasa con otros httpStatus en el rango 2xx como 201 o 204?Son bibliotecas de solicitudes HTTP ...
Termino con la misma duda, pero la tabla en esta publicación me hace seguir
isomorphic-fetch
. Lo cual esfetch
pero funciona con NodeJS.http://andrewhfarmer.com/ajax-libraries/
El enlace de arriba está muerto. La misma tabla está aquí: https://www.javascriptstuff.com/ajax-libraries/
O aquí:
fuente
fetch
como Native (lo que significa que puede usarlo, no es necesario incluir una biblioteca , de acuerdo con el origen de la tabla), mientras que en realidad nofetch
está implementado en algunas plataformas (especialmente en todas las versiones de IE), para lo cual debe proporcionar un Polyfill externo de todos modos.timeout
(que es muy extraño) tenemos que usar un módulo separado para implementar esta funcionalidad básica.Según mzabriskie en GitHub :
por favor verifique los ejes de soporte del navegador
Creo que deberías usar axios.
fuente
Una diferencia importante más entre la API de recuperación y la API de axios
fuente
Axios es un paquete de terceros independiente que se puede instalar fácilmente en un proyecto React usando NPM.
La otra opción que mencionó es la función fetch. A diferencia de Axios,
fetch()
está integrado en la mayoría de los navegadores modernos. Con fetch no necesita instalar un paquete de terceros.Depende de usted, puede ir
fetch()
y potencialmente arruinar si no sabe lo que está haciendo O simplemente use Axios, que es más sencillo en mi opinión.fuente
Además ... estaba jugando con varias librerías en mi prueba y noté su diferente manejo de las solicitudes 4xx. En este caso, mi prueba devuelve un objeto json con una respuesta 400. Así es como 3 libs populares manejan la respuesta:
De interés es eso
request-promise-native
yaxios
lanzar la respuesta 4xx mientrasnode-fetch
no lo hace. Tambiénfetch
utiliza una promesa para el análisis json.fuente
.throws
método para probar los errores arrojados. En este caso, estaba probando rechazos de al 3 libs y noté la diferencia en los datos que se devolvieron.Beneficios de los axios:
Ventajas de
axios
sobrefetch
fuente