Nuxt.jsのaxiosにリトライを設定する

Nuxt.jsのaxiosでAPI呼び出しが50X系エラーで失敗した時に自動で再試行させる方法です。

Nuxt.jsのaxiosモジュールaxios-retryを内包しているのでnuxt.config.jsに設定するだけでリトライ制御を効かせることができます。


  // Axios module configuration: https://go.nuxtjs.dev/config-axios
  axios: {
    retry: true
  },
これでデフォルト3回のリトライ制御がかかるようになります。
  // Axios module configuration: https://go.nuxtjs.dev/config-axios
  axios: {
    retry: { retries: 5 }
  },
再試行の回数を指定することもできます。

独自にラッパーなどを仕込んでいる場合は、上記の方法が使えないのでaxios-retryをモジュールとして読み込んで使います。
import axiosRetry from 'axios-retry';

// Works with custom axios instances
const client = axios.create({ baseURL: 'http://example.com' });
axiosRetry(client, { retries: 3 });