首页 > 解决方案 > 无法在 axios react.js 中捕获错误

问题描述

我在 reactjs 项目中使用 axios 进行 API 调用,但不知何故我无法捕捉到错误。我得到404但无法抓住它。有人可以告诉我有什么问题吗?

abc.js

export default axios.create({
  baseURL: `my_base_url`,
  headers: {
    "Content-Type": "application/json",
  },
});

xyz.js

export const createProcessApiCall = (param) => {
  return API.post("/v1/process1", param);
};

zzz.js

  const postData = async (param) => {
    await createProcessApiCall(param)
      .then((response) => {
          setApiData(response.data.data);
          setIsSuccess(response.data.isSuccess);    
      })
      .catch((e) => {
        setIsError(true);
      });
  };

标签: javascriptreactjs

解决方案


您正在将异步代码与同步代码结合使用,请尝试使用异步代码:

   const postData = async (param) => {
    try {
       const result = await createProcessApiCall(param)
    }
    catch(err) {
         setIsError(true);
 
    }   
    };

或同步:

const postData = (param) => {
    createProcessApiCall(param)
      .then((response) => {
          setApiData(response.data.data);
          setIsSuccess(response.data.isSuccess);    
      })
      .catch((e) => {
        setIsError(true);
      });
  };

推荐阅读