reactjs 我想从这个catch块删除任何,下面是我的代码

2nbm6dog  于 2023-08-04  发布在  React
关注(0)|答案(2)|浏览(108)
const apiCallingFunction = async (data: any) =\> {
  try {
    let response = await axiosPost("/api", { ...data });
    return response;
  } catch (err: any) {
    return err.response;
  }
};

字符串
我想从catch块中删除任何内容。

eqqqjvef

eqqqjvef1#

import { AxiosError } from "axios";

const apiCallingFunction = async (data: any) => {
  try {
  let response = await axiosPost("/api", { ...data });
  return response;
  } catch (err: unknown) {
   return (err as AxiosError).response;
  }
 };

字符串
Axios具有已知为AxiosError的错误的内置类型

w41d8nur

w41d8nur2#

我不认为“从catch块中删除any”是解决这个问题的好方法,因为进入catch块的任何东西都应该是意外错误,应该输入为unknown。作为参考,在Typescript的官方github中讨论了here
如果您使用的是Typescript >4.4,我建议您只保留catch块catch(err) { // some code },而不向其添加类型(在this PR中解释)

相关问题