Estou ligando para o serviço da web usando a busca, mas o mesmo posso fazer com a ajuda do axios. Então agora estou confuso. Devo ir para axios ou buscar?
ajax
reactjs
xmlhttprequest
es6-promise
es6-modules
Gorakh Nath
fonte
fonte
Respostas:
A busca e o Axios são muito semelhantes em funcionalidade, mas para obter mais compatibilidade com versões anteriores, o Axios parece funcionar melhor (a busca não funciona no IE 11, por exemplo, verifique esta publicação )
Além disso, se você trabalha com solicitações JSON, a seguir, apresentamos algumas diferenças.
Buscar solicitação de postagem JSON
Solicitação de postagem JSON do Axios
Assim:
Espero que isto ajude.
fonte
Axios request is ok when status is 200 and statusText is 'OK'
E quanto a outros httpStatus no intervalo 2xx como 201 ou 204?Eles são bibliotecas de solicitações HTTP ...
Acabo com a mesma dúvida, mas a tabela deste post me faz seguir em frente
isomorphic-fetch
. Que éfetch
apenas funciona com o NodeJS.http://andrewhfarmer.com/ajax-libraries/
O link acima está inativo A mesma tabela está aqui: https://www.javascriptstuff.com/ajax-libraries/
Ou aqui:
fonte
fetch
como Nativo (o que significa que você pode simplesmente usá-lo - não é necessário incluir uma biblioteca , de acordo com a origem da tabela), enquanto na verdade nãofetch
é implementado em algumas plataformas (principalmente em todas as versões do IE), para as quais você precisa fornecer um polyfill externo de qualquer maneira.timeout
(o que é muito estranho), precisamos usar um módulo separado para implementar essa funcionalidade básica.De acordo com mzabriskie no GitHub :
verifique o Axios de suporte ao navegador
Eu acho que você deveria usar axios.
fonte
Mais uma grande diferença entre a API de busca e a API de axios
fonte
O Axios é um pacote independente de terceiros que pode ser facilmente instalado em um projeto React usando o NPM.
A outra opção que você mencionou é a função de busca. Ao contrário do Axios,
fetch()
é incorporado aos navegadores mais modernos. Com a busca, você não precisa instalar um pacote de terceiros.Portanto, cabe a você, você pode ir
fetch()
e potencialmente bagunçar se não souber o que está fazendo OU apenas usar o Axios, que é mais direto na minha opinião.fonte
Além disso ... eu estava brincando com várias bibliotecas no meu teste e notei o tratamento diferente das solicitações 4xx. Nesse caso, meu teste retorna um objeto json com uma resposta de 400. É assim que três bibliotecas populares lidam com a resposta:
De interesse é isso
request-promise-native
eaxios
jogar na resposta 4xx enquantonode-fetch
não. Tambémfetch
usa uma promessa para a análise de json.fonte
.throws
método para testar erros gerados. Nesse caso, eu estava testando rejeições de todas as 3 libs e percebi a diferença nos dados retornados.Benefícios dos axios:
Vantagens de
axios
mais defetch
fonte