検索

ホームページ  >  に質問  >  本文

応答が空の場合は axios リクエストを再試行します

アクシオスを待つ
    。役職(
      バッチの実行、
      {
        ヘッダー: {
          "コンテンツタイプ": "アプリケーション/json",
          "x-access-token": localStorage.getItem("トークン"),
        }、
      }
    )
    。それから(
      (応答) =>
        this.$store.commit(
          "出力ファイルの挿入",
          応答.データ.出力ファイル._id
        )、
    );

  alert("結果をダウンロードできます");

そのため、ステータス コード 200 の空の応答を受け取ることがあります。 この問題が発生した場合は、リクエストを再試行することを検討してください。 この問題を解決する正しい方法は何なのか知りたいです。

P粉863295057P粉863295057257日前284

全員に返信(1)返信します

  • P粉556159786

    P粉5561597862024-03-20 00:57:20

    axios interceptorはあなたに適していると思います。

    axios.interceptors.response.use((応答) => {
        応答を返す
      }、
      非同期関数(エラー) {
        constoriginalRequest = error.config;
    
        if () { // 条件
          オリジナルリクエスト._retry = true;
        }
      }
    )

    setupAxios ファイルをベース redux ディレクトリに作成し、それをベース redux ディレクトリのindex.js からエクスポートできます。

    「./setupAxios」から {デフォルトとして setupAxios} をエクスポートします;

    そして、ルートのindex.jsファイルからsetupAxios

    を定義します。
    import * as _redux from "./redux";
    
    _redux.setupAxios(axios, ストア);

    ちなみに私はreact.jsを使っていますが、vue.jsでは少し違うかもしれません。

    返事
    0
  • キャンセル返事