Eu sei que a API Fetch usa se Promise
ambos permitem que você faça solicitações AJAX para um servidor.
Li que a API Fetch tem alguns recursos extras, que não estão disponíveis no XMLHttpRequest
(e no polyfill da API Fetch, pois é baseado nele XHR
).
Quais recursos extras a API Fetch possui?
javascript
ajax
xmlhttprequest
fetch-api
ilyabasiuk
fonte
fonte
fetch(url).then(function(data) (...));
não é mais simples do que usarXMLHttpRequest
para fazer a mesma coisa? Pode ter muitos outros recursos, mas nossa, é mais simples de usar para coisas comuns. É uma API limpa.Respostas:
Existem algumas coisas que você pode fazer com a busca e não com o XHR:
no-cors
solicitações, obtendo uma resposta de um servidor que não implementa o CORS. Você não pode acessar o corpo da resposta diretamente do JavaScript, mas pode usá-lo com outras APIs (por exemplo, a API de cache);Há algumas coisas que você pode fazer com o XHR que ainda não pode ser buscado, mas elas estarão disponíveis mais cedo ou mais tarde (leia o parágrafo "Futuras melhorias" aqui: https: //hacks.mozilla .org / 2015/03 / esta-api-é-tão-atraente / ):
Este artigo https://jakearchibald.com/2015/thats-so-fetch/ contém uma descrição mais detalhada.
fonte
fetch
solicitações não podem ser reproduzidas nas Ferramentas do desenvolvedor.fetch
pode solicitar arquivos, mas o XHR não pode.buscar
ReadableStream
instâncias como corpos de solicitação ainda está por vir )XHR
mozAnon
ou oAnonXMLHttpRequest
construtor)FormData
instânciasfetch
'sno-cors
modo defonte
fetch
também está faltando progresso. com XHR você pode acompanhar o progresso com oprogress
eventoResponse#body
.As respostas acima são boas e fornecem boas informações, mas eu compartilho a mesma opinião que compartilhada nesta entrada de blog de desenvolvedores do Google em que a principal diferença (de uma perspectiva prática) é a conveniência da promessa interna retornada de
fetch
Em vez de ter que escrever um código como este
podemos limpar as coisas e escrever algo um pouco mais conciso e legível com promessas e sintaxe moderna
fonte