swagger_generator_flutter/CHANGELOG_CANCELTOKEN.md

1.6 KiB

CancelToken 功能变更日志 / CancelToken Feature Changelog

[3.3.0] - 2026-01-31

🎉 新特性 / New Features

CancelToken 支持

  • 配置开关:在 generator_config.yaml 中配置 generation.api.cancel_token_support: true 启用
  • 自动添加参数:启用后,所有 API 方法自动添加 @CancelRequest() CancelToken? cancelToken 参数
  • 向后兼容:默认关闭,不影响现有项目

📝 文档 / Documentation

  • 新增 CANCELTOKEN_USAGE_GUIDE.md - 使用指南和最佳实践
  • 更新 generator_config.template.yaml - 添加配置示例

🔧 技术细节 / Technical Details

修改的文件:

  • lib/core/config_repository.dart - 添加 cancelTokenSupport 配置解析
  • lib/pipeline/generate/impl/retrofit_api/api_parameters.dart - 在 _generateParameters() 中添加 CancelToken 参数生成逻辑
  • generator_config.template.yaml - 添加配置项说明

生成的参数格式:

@CancelRequest() CancelToken? cancelToken

💡 使用场景 / Use Cases

  1. 页面离开取消请求 - 避免内存泄漏和不必要的状态更新
  2. 用户主动取消 - 如搜索框输入时取消之前的搜索请求
  3. 超时控制 - 配合 Timer 实现自定义超时逻辑
  4. 批量取消 - 一个 CancelToken 可用于多个请求