Как отловить эту ошибку net :: ERR_CONNECTION_REFUSED в ax ios перехватить с помощью reactJS? - PullRequest
0 голосов
/ 10 марта 2020

Я использую топор ios для перехвата, чтобы поймать типичные ошибки, такие как 401, 503 и т. Д. c. Чтобы я отправил действие из самого перехвата, мне не нужно передавать его создателю действия. Я могу отлавливать все ошибки, кроме net::ERR_CONNECTION_REFUSED. Когда сервер не работает.

Здесь я делюсь кодом того, что я реализовал.

import React, { useEffect } from "react";
import axios from "axios";
import store from "../store";
import { logout } from "../actions/authAction";
import { Toast } from "../components/toast";

const checkRequests = Wrapped => {
  function CheckRequests(props) {
    useEffect(() => {
      axios.interceptors.response.use(
        function(response) {
          return response;
        },
        function(error) {
          if (!error.response) {
            console.log("Server is not running");
          }

          if (error.response.status === 401) {
            store.dispatch(logout());
            props.history.push("/");
            Toast("Session has expired.Please login");
          }

          return Promise.reject(error);
        }
      );
    });

    return <Wrapped {...props} />;
  }
  return CheckRequests;
};

export default checkRequests;

Ваша помощь или предложения по этому вопросу очень ценятся. Заранее спасибо.

...