首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RTK查询中建立响应拦截器

如何在RTK查询中建立响应拦截器
EN

Stack Overflow用户
提问于 2022-07-23 15:34:29
回答 1查看 575关注 0票数 0

当来自API的响应状态未经授权时,我需要重定向登录屏幕并清除身份验证令牌。

通过向模块提供HTTP拦截器,我可以轻松地在角度上做到这一点,因此我在React中寻找RTK查询中的等效内容。

有办法通过RTK查询添加全局拦截器吗?还是用于响应一组查询的拦截器?

我想用transformResponse字段来实现上面的逻辑,但是这样做似乎不对,我必须将函数调用添加到每个transformResponse回调的主体中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-23 16:45:41

你可以通过包装你的fetchBaseQuery来做到这一点。在文档中有一个用于重新授权的示例:

基于扩展fetchBaseQuery的自动重授权

代码语言:javascript
复制
const baseQuery = fetchBaseQuery({ baseUrl: '/' })
const baseQueryWithReauth: BaseQueryFn<
  string | FetchArgs,
  unknown,
  FetchBaseQueryError
> = async (args, api, extraOptions) => {
  let result = await baseQuery(args, api, extraOptions)
  if (result.error && result.error.status === 401) {
    // your logic here
  }
  return result
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73092009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档