我会在收到返回状态码为401时调用刷新令牌并取消此前的HTTP请求。在刷新令牌响应后,我需要重新发起之前的请求。
示例: 登录 -> 1小时后 -> 调用产品 -> 401 -> 调用刷新令牌 -> 调用产品
我尝试使用这个链接一个链接 并查看这个链接一个链接 但都不行。
捕获401错误。
示例: 登录 -> 1小时后 -> 调用产品 -> 401 -> 调用刷新令牌 -> 调用产品
我尝试使用这个链接一个链接 并查看这个链接一个链接 但都不行。
捕获401错误。
setInterceptors = () => {
axios.interceptors.response.use(
response => {
return response;
},
err => {
return new Promise((resolve, reject) => {
if (err.response.status === 401 && err.config && !err.config.__isRetryRequest) {
const originalRequest = err.config;
this.emit('onAutoLogin', originalRequest);
}
// throw err;
});
}
);
};
调用我的动作
jwtService.on('onAutoLogin', originalRequest => {
jwtService
.signInWithToken()
.then(res => {
if (res.access_token) {
originalRequest.headers['Authorization'] = 'Bearer ' + res.access_token;
Axios.request(originalRequest).then(response => {
store.dispatch({
type: ** MY PROBLEM İS HERE **
payload: response.data
});
});
}
})
.catch(err => {
jwtService.setSession(null);
});
type
所在行的注释。问题是什么?“无法保持操作...”的含义不清楚。 - Drew Reesestore
是否在作用域内或者是否已经定义,我们也不知道你的 action/reducer 对是什么样子的,而且你还没有说明 哪里 出了问题。有错误吗?堆栈跟踪?肯定有更多信息可用于帮助调试。能否创建一个可共享的 codesandbox 来重现你的问题,以便其他人可以看到你所看到的? - Drew Reese