我的应用程序中有一个API客户端,它带有一些拦截器:
const api = new OpenAPIClientAxios({...})
const client = api.initSync()
client.interceptors.request.use(...)
client.interceptors.response.use(...)
字符串
我想写一个请求拦截器,它将检查本地存储中的一些数据。如果数据存在,我想 * 根本不发出请求 *,而是简单地用本地存储数据进行响应。
这可能吗?还是我滥用了拦截器?
2条答案
按热度按时间col17t5w1#
我想提出另一种方法:与其向axios添加拦截器,不如编写一个函数来抽象数据的检索,这将:
换句话说,编写域服务/存储库。
uemypmqf2#
拦截器只能用于操作请求和响应的配置。不幸的是,您不能完全使用它们绕过请求。
Axios确实提供了一个
adapter
配置,允许自定义处理请求
使用此方法,您可以使用自定义
adapter
创建Axios示例,以拦截请求并使用本地数据提供响应。