我使用rtk查询与自定义baseQuery
const staggeredBaseQueryWithBailOut = retry(
async (args: FetchArgs | string, api, extraOptions) => {
try {
const result = await fetchBaseQuery({
baseUrl: config.apiBaseURL,
prepareHeaders: (headers, api) => {
const {
auth: { token }
} = api.getState() as RootState
if (isCustomQuery(args) && args.url === config.authURL) {
headers.set("Authorization", `Basic ${config.basicToken}`)
} else {
if (token) headers.set("Authorization", `Bearer ${token}`)
}
}
})(args, api, extraOptions)
if (result.error) throw result
return result
} catch (error) {
return { error: error }
}
},
{
maxRetries: 2
}
)
每当API调用失败时,API都会使用errorMessage进行响应。
我想得到errorMessage &&状态码。
从useQueryHook返回的错误对象是由rtk生成的,带有类似“FETCH_ERROR”的非描述性消息。
有办法绕过去吗?
2条答案
按热度按时间ni65a41a1#
它指出,问题是与CORS头不发回的情况下,错误的React。只是一个API问题,而不是rtk查询实现错误。
bfrts1fy2#
你为什么不这样试试
注意我选择错误
result?.error?.status === 403
的方式我希望这能帮上忙。