Skip to content

createTokenRefreshGate ​

并发请求在 token 刷新进行中时等待,避免仍携带即将被替换的旧 token。

函数签名 ​

typescript
function createTokenRefreshGate(): {
  setTokenRefreshPromise: (promise: Promise<boolean> | null) => void
  waitForPendingTokenRefresh: () => Promise<void>
}

参数 ​

无。

返回值 ​

方法说明
setTokenRefreshPromise注册进行中的刷新 Promise
waitForPendingTokenRefresh请求前等待刷新完成

工作原理 ​

  1. 刷新开始时 setTokenRefreshPromise(refreshPromise)。
  2. API 客户端在附加 Authorization 前调用 waitForPendingTokenRefresh。
  3. 刷新结束置 null,后续请求立即通过。