Fetch API と XMLHttpRequest の比較 質問する

Fetch API と XMLHttpRequest の比較 質問する

Fetch API は を使用しPromise、どちらもサーバーに AJAX リクエストを実行できることは知っています。

XMLHttpRequestFetch API には、 (および をベースとしているため Fetch API ポリフィル)では利用できない追加機能がいくつかあると読みましたXHR

Fetch API にはどのような追加機能がありますか?

ベストアンサー1

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/):

  • リクエストを中止します(@sideshowbarker がコメントで説明しているように、これは現在 Firefox と Edge で機能します)。
  • 進捗状況を報告します。

この記事https://jakearchibald.com/2015/thats-so-fetch/より詳細な説明が含まれています。

おすすめ記事