typescript - 带有 Typescript 的 Axios 拦截器
问题描述
如何正确使用 axios 的 inteceptors 和 typescript:
import axios, { AxiosRequestConfig, AxiosInstance } from 'axios'
HTTP.interceptors.request.use((config: AxiosRequestConfig) => config)
例如,当我创建 axios 实例时,我设置了默认配置:
const conf: AxiosRequestConfig = {
baseURL: process.env.VUE_APP_API_URL
}
const HTTP: AxiosInstance = axios.create(conf)
但是当我尝试使用带有自定义标头的拦截器时:
HTTP.interceptors.request.use((config: AxiosRequestConfig) =>{
headers: {
'x-projectkey': 1234
}
})
它不起作用:
Argument of type '(config: AxiosRequestConfig) => void' is not assignable to parameter of type '(value: AxiosRequestConfig) => AxiosRequestConfig | Promise<AxiosRequestConfig>'
我对TS还是新手,无法弄清楚。
解决方案
您应该返回如下配置:
HTTP.interceptors.request.use((config: AxiosRequestConfig) => {
config.headers['x-projectkey'] = 1234
return config
})
玩得开心。
推荐阅读
- java - 在优化以下代码时需要建议
- javascript - 如何检查所有类型的 excel 扩展是否有效
- node.js - 删除主文档时如何删除引用的对象数组?
- bash - 为什么 SNMP 或 SSH 会阻止 while 循环迭代?
- python - 从 python 脚本在 OSX 上制作可执行文件
- android - 反应本机自定义推送对象通知不起作用?
- python - 输入 0 与层 lstm_24 不兼容:预期 ndim=3,发现 ndim=2
- python - 从 QLineEdit 读取文本作为 Qmenu 选项的子菜单
- javascript - 使用传单,同时绘制大量多边形和标记
- c# - 使用编组时来自字节数组的图像创建错误图像