const apiCallingFunction = async (data: any) =\> { try { let response = await axiosPost("/api", { ...data }); return response; } catch (err: any) { return err.response; } };
字符串我想从catch块中删除任何内容。
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的错误的内置类型
w41d8nur2#
我不认为“从catch块中删除any”是解决这个问题的好方法,因为进入catch块的任何东西都应该是意外错误,应该输入为unknown。作为参考,在Typescript的官方github中讨论了here。如果您使用的是Typescript >4.4,我建议您只保留catch块catch(err) { // some code },而不向其添加类型(在this PR中解释)
any
unknown
catch(err) { // some code }
2条答案
按热度按时间eqqqjvef1#
字符串
Axios具有已知为AxiosError的错误的内置类型
w41d8nur2#
我不认为“从catch块中删除
any
”是解决这个问题的好方法,因为进入catch块的任何东西都应该是意外错误,应该输入为unknown
。作为参考,在Typescript的官方github中讨论了here。如果您使用的是Typescript >4.4,我建议您只保留catch块
catch(err) { // some code }
,而不向其添加类型(在this PR中解释)