Axios Cancel TokenSourceとは

公開日
2023-05-25
投稿者
ryosuke kamei
#tag

Axios の CancelTokenSource は、リクエストをキャンセルするための機能を提供します。これは非常に有用な機能で、特に長期間にわたる非同期操作を制御する必要がある場合や、特定の条件が満たされた場合にリクエストを中止する必要がある場合などに使用されます。


基本的な使い方は以下のとおりです:


import axios, { CancelToken } from 'axios';

const source = CancelToken.source();

axios.get('/user/12345', {
  cancelToken: source.token
}).catch(function (thrown) {
  if (axios.isCancel(thrown)) {
    console.log('Request canceled', thrown.message);
  } else {
    // handle error
  }
});

// cancel the request (the message parameter is optional)
source.cancel('Operation canceled by the user.');

この例では、まず CancelToken.source() を使用して CancelTokenSource インスタンスを生成しています。次に、生成した sourcecancelToken オプションとして axios.get メソッドに渡します。そして最後に、リクエストをキャンセルするために source.cancel メソッドを呼び出します。

source.cancel メソッドを呼び出すと、対応するリクエストがキャンセルされ、axios.isCancel によってエラーが捕捉されます。これにより、リクエストがキャンセルされたかどうかを簡単に確認することができます。


簡単にゆうと

ChatGPT

AxiosのCancelTokenSourceは、HTTPリクエストをキャンセルするための機能を提供します。これは長期間の非同期操作や特定の条件下でリクエストを停止する場合に有用です。

まずCancelToken.source()を使用してキャンセルトークンを生成し、それをcancelTokenオプションとしてリクエストに渡します。その後、source.cancelメソッドを呼び出してリクエストをキャンセルします。

つまり、CancelTokenSourceを使用すると、任意のタイミングでHTTPリクエストをキャンセルすることができます。