【发布时间】:2020-01-17 03:04:50
【问题描述】:
我有这个函数动作
export function unlinkAccount(id) {
return function(dispatch) {
const data = {
id: id
};
return userApi
.post('/user/account/unlink', data)
.then(res => console.log('SUCCESS: unlinkAccount -> ', res))
.catch(err => console.log('ERROR: unlinkAccount -> ', err));
};
}
但我也按照以下方式拦截请求
userApi.interceptors.request.use(
async config => {
const jwtToken = await refreshToken();
if (jwtToken) {
config.data = { accessToken: jwtToken };
}
return config;
},
error => {
return Promise.reject(error);
}
);
这将使用来自拦截器的数据而不是unlinkAccount 函数对userApi 进行POST。有没有办法将这两种数据合并或作为“道具”传递给unlinkAccount 函数,因为我需要按照以下格式传递数据:
const data = {
id: id,
accessToken: jwtToken
}
谢谢。
【问题讨论】:
-
拦截器中config.data的输出是什么?如果 config.data 是来自 unlinkAccount 函数的数据,您可以将其与拦截器数据合并,而不是重新分配给拦截器的数据(jwtToken)。
-
@WeiSengTan ya 你说得对,谢谢
标签: reactjs redux axios interceptor