javascript - 如何将动态参数传递给axios实例
问题描述
我刚刚阅读了一篇关于如何使用 axios HERE使您的 API 请求 DRY 的 css-tricks 文章。现在做出这样的反应会很好:
export default axios.create({
baseURL: 'https://mysite/v3',
headers: {
'content-type': 'application/json'
}
})
问题是如果我想向这个实例传递额外的参数怎么办?IE 我有另一个参数,我想像这样的标题:
'X-USER-ACCESS-TOKEN': sessionToken,
另外,如果我有多个其他选项可以传递给标题怎么办?
解决方案
要动态传递headers
,您可以导出一个函数,该函数options
作为参数并返回一个新实例axios
:
// utils/custom-axios.js
export default function(options = {}) {
const {
headers = {}
} = options;
return axios.create({
baseURL: "https://mysite/v3",
headers: {
"Content-Type": "application/json",
...headers
}
});
}
然后你可以通过以下方式使用它:
const axios = require("./utils/custom-axios");
const options = {
headers: { "X-USER-ACCESS-TOKEN": "secret" }
};
axios(options)
.post("./user.json", formData)
.then(...)
.catch(...);
// alternatively, don't pass any options
axios()
.post("./user.json", formData)
.then(...)
.catch(...);
推荐阅读
- python - 如何通过正则表达式删除基于相同索引的唯一字符
- ios - 将按钮的 Alpha 更改为 0,同时仍然可以在 xCode/Swift 上单击它
- node.js - 如何用 jest 和 superTest 模拟 cookie 方法?
- cisco - 无法在 Cisco Packet Tracer Student 中使用交叉电缆在路由器和 PC 之间连接
- wordpress - Wordpress 自定义主题“阅读更多”
- python - OpenCV Python的视频输出中的“无法解复用流”
- c# - 如何在没有访问类类型的情况下获取类成员
- node.js - 具有角度的中等严重性漏洞
- javascript - 无法在我的前端获得发布请求的状态
- javascript - Discord.js 不断发送相同的消息