Reactjs 在Redux Thunk中使用fetch api奇怪地刷新了头
嗨,我遇到了一个我不太明白的问题 我的API在每次请求时都会将一个新的身份验证令牌传递给我的客户机,以便在下一次请求时使用,并再次获得一个新的身份验证令牌。但有一个小小的转折:在短时间内(几秒钟内)发送的请求将被视为批处理,所有这些请求都可以而且必须使用相同的令牌,因为API不会为这些请求提供新的令牌 奇怪的是,所有的批量重新请求响应都不包含新的令牌,但我的客户端应用程序仍然设法用旧的和过期的令牌刷新它的状态 我是这样做的: 在每个成功的请求中,我都会发送一个“REFRESH-TOKEN”操作,从响应头中获取新信息,如下所示:Reactjs 在Redux Thunk中使用fetch api奇怪地刷新了头,reactjs,redux,fetch-api,redux-thunk,Reactjs,Redux,Fetch Api,Redux Thunk,嗨,我遇到了一个我不太明白的问题 我的API在每次请求时都会将一个新的身份验证令牌传递给我的客户机,以便在下一次请求时使用,并再次获得一个新的身份验证令牌。但有一个小小的转折:在短时间内(几秒钟内)发送的请求将被视为批处理,所有这些请求都可以而且必须使用相同的令牌,因为API不会为这些请求提供新的令牌 奇怪的是,所有的批量重新请求响应都不包含新的令牌,但我的客户端应用程序仍然设法用旧的和过期的令牌刷新它的状态 我是这样做的: 在每个成功的请求中,我都会发送一个“REFRESH-TOKEN”操作,
let accessToken = response.headers.get("Access-Token")
let expiry = response.headers.get("Expiry")
dispatch(refreshTokens({
status: "loggedIn",
accessToken: accessToken,
expiry: expiry
}));
response
来自fetch api,在我看来,当报头不存在时,它会给我过期的响应
非常感谢能向我解释发生了什么的人。目前,我不满意的解决方案是关闭批处理请求功能。我认为不可能根据您共享的代码片段缩小问题的范围,但我建议以下几点:
感谢您推荐redux中间件,我跳过了这一步。。是的,我后来确实集成了devTools,但无法从中获得更多线索,
REFRESH\u TOKEN
操作(在thunk中调度)不知何故只携带过期的TOKEN。。。