ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript でフェッチリクエストをキャンセルするにはどうすればよいですか?

JavaScript でフェッチリクエストをキャンセルするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-18 01:29:02132ブラウズ

How Can I Cancel Fetch Requests in JavaScript?

フェッチ リクエストのキャンセル: 組み込みメカニズムの探索

JavaScript の新しい fetch() API は、HTTP リクエストを作成する便利な方法を提供します。しかし、長年の疑問が残っています: これらのリクエストを飛行中にキャンセルするための組み込みメカニズムはありますか?

信号パラメータ

2017 年 9 月現在、 fetch() は signal パラメータをサポートしています。このパラメータは、フェッチ リクエストの制御された中止を可能にする AbortSignal オブジェクトを受け入れます。

実装

フェッチ リクエストをキャンセルするには、次の手順に従います。

  1. AbortController を作成する
  2. AbortController から AbortSignal オブジェクトを取得します。
  3. AbortSignal をシグナル パラメーターの fetch() に渡します。
  4. 必要に応じて、controller.abort() を呼び出して、を終了するrequest.

次のコード スニペットを考えてみましょう:

// Initialize an AbortController and its AbortSignal
const controller = new AbortController();
const signal = controller.signal;

// Perform a fetch request with the AbortSignal
fetch(urlToFetch, {
  signal,
});

// Abort the request at any time
controller.abort();

ブラウザ サポート

当初、AbortSignal のサポートは限定的でした。ただし、2020 年 3 月の時点で、ほとんどの主要なブラウザ (Edge、Firefox、Chrome、Safari、Opera など) にこの機能が実装されており、広くアクセスできるソリューションになっています。

現在、すべてのブラウザが AbortSignal をサポートしているわけではありません。広く利用可能であるということは、実行中のフェッチ リクエストのキャンセルが JavaScript 開発において今や一般的な機能であることを示しています。

以上がJavaScript でフェッチリクエストをキャンセルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。