小编典典

提取API与XMLHttpRequest

ajax

我知道Fetch API使用,Promise并且两者都允许您向服务器执行AJAX请求。

我已经阅读到Fetch API具有一些额外的功能,这些功能在XMLHttpRequest(和Fetch API polyfill
中均不可用,因为它基于XHR)。

Fetch API有哪些额外功能?


阅读 253

收藏
2020-07-26

共1个答案

小编典典

您可以使用fetch而不是XHR进行以下操作:

  • 您可以将Cache API与请求和响应对象一起使用;
  • 您可以执行no-cors请求,并从未实现CORS的服务器获得响应。您不能直接从JavaScript访问响应主体,但可以将其与其他API(例如Cache API)一起使用;
  • 流式响应(使用XHR,整个响应将被缓存在内存中,通过访存,您将能够访问低级流)。目前尚不能在所有浏览器中使用此功能,但很快就会发布。

您可以使用XHR进行一些事情,而使用fhr尚无法完成,但是它们迟早都可以使用(请在此处阅读“未来的改进”部分:https://hacks.mozilla
.org / 2015/03 / this-api-is-so-fetching
/
):

  • 中止请求(此操作现在在Firefox和Edge中有效,如@sideshowbarker在评论中所述);
  • 报告进度。

本文https://jakearchibald.com/2015/thats-so-
fetch/包含更详细的描述。

2020-07-26