237

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

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

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

4

3 に答える 3

161

XHR ではなく fetch でできることがいくつかあります。

  • 要求オブジェクトと応答オブジェクトでキャッシュ API を使用できます。
  • no-corsCORS を実装していないサーバーからの応答を取得して、要求を実行できます。JavaScript から直接応答本文にアクセスすることはできませんが、他の API (キャッシュ API など) で使用できます。
  • ストリーミング レスポンス (XHR を使用すると、レスポンス全体がメモリにバッファリングされます。フェッチを使用すると、低レベルのストリームにアクセスできます)。これはまだすべてのブラウザで利用できるわけではありませんが、まもなく利用できるようになります。

fetch ではまだ実行できない XHR で実行できることがいくつかありますが、遅かれ早かれ利用できるようになる予定です (「将来の改善」の段落を読んでください: https://hacks.mozilla .org/2015/03/this-api-is-so-fetching/ ):

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

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

于 2016-02-22T11:26:59.247 に答える