Skip to content

Conversation

@TAYUN
Copy link

@TAYUN TAYUN commented Nov 20, 2025

问题描述

TypeScript 类型定义与实际实现之间存在不匹配:

  1. 配置不匹配:TS 类型定义中 refreshTokenOnError 包含 handler 属性,但实现中错误地使用了 refrshTokenOnError 而不是 handler

类型定义(正确)

refreshTokenOnError?: {
  isExpired: ResponseErrorInterceptHandler<RA, boolean | Promise<boolean>>;
  handler: ResponseErrorInterceptHandler<RA>;  // 正确的属性名
  metaMatches?: MetaMatches;
}

当前错误的实现

const { onAuthRequired, onResponseRefreshToken } = createServerTokenAuthentication({
  refreshTokenOnError: {
    isExpired: res => res.status === 401,
    refrshTokenOnError: async () => {  // 拼写错误:缺少 'e' 且属性名错误
      const { token, refresh_token } = await refreshToken();
      localStorage.setItem('token', token);
      localStorage.setItem('refresh_token', refresh_token);
    }
  }
});

修复后的实现

const { onAuthRequired, onResponseRefreshToken } = createServerTokenAuthentication({
  refreshTokenOnError: {
    isExpired: res => res.status === 401,
    handler: async () => {  // 已修复:正确的拼写和属性名
      const { token, refresh_token } = await refreshToken();
      localStorage.setItem('token', token);
      localStorage.setItem('refresh_token', refresh_token);
    }
  }
});

变更摘要

  • 修复拼写错误:refrshTokenOnErrorhandler
  • 使实现与 TypeScript 类型定义保持一致
  • 保持正确的 refreshTokenOnError 配置键名
  • 提升代码一致性和类型安全性

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant