我知道 Fetch API 使用Promise
s 并且它们都允许您向服务器发出 AJAX 请求。
我读到 Fetch API 有一些额外的功能,这些功能在XMLHttpRequest
(以及在 Fetch API polyfill 中,因为它基于XHR
).
Fetch API 有哪些额外功能?
有一些事情可以使用 fetch 而不是 XHR 来完成:
- 您可以将 Cache API 与请求和响应对象一起使用;
- 你可以执行
no-cors
请求,从未实现 CORS 的服务器获取响应。您无法直接从 JavaScript 访问响应正文,但可以将其与其他 API(例如 Cache API)一起使用;
- 流式响应(使用 XHR,整个响应缓冲在内存中,使用 fetch,您将能够访问低级流)。目前尚未在所有浏览器中提供此功能,但很快就会提供。
有一些事情可以使用 XHR 完成,而使用 fetch 还无法完成,但它们迟早会可用(请阅读此处的“未来改进”段落:https://hacks.mozilla.org/2015/03/this-api-is-so-fetching/):
- 中止请求(现在可以在 Firefox 和 Edge 中使用,正如 @sideshowbarker 在他的评论中解释的那样);
- 报告进展情况。
本文https://jakearchibald.com/2015/thats-so-fetch/包含更详细的描述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)