SuperAPI AI 工具集

resilient-async-operations

通用与其它

查看项目

更新于 10-16 08:10

技能介绍

用途:该技能面向 JavaScript/TypeScript 应用,尤其是 React 中的异步操作,解决内存泄漏、错误处理和并发请求管理问题。

主要能力:提供四个互补工具。AbortManager 集中管理多个 AbortController 并支持超时与清理;safePromise 以 Go 风格返回 [data, error] 元组;backgroundOperation 执行非关键后台任务,仅记录错误而不崩溃;withTimeout 为 Promise 包装超时并支持中止。

使用方式:在 lib/promise-utils.ts 中创建上述工具,然后在组件或钩子中使用。AbortManager 通过 createController(key, timeoutMs) 创建控制器、getSignal 获取信号、cleanup 批量或按键清理;在 React 中应通过 useRef 持久化实例,并在 useEffect 返回函数中调用 cleanup。safePromise 用于需要显式错误处理的操作,backgroundOperation 用于分析、日志、缓存等非关键任务。示例还提供重试(指数退避)、Promise.allSettled 并行保存、防抖搜索等高级模式。

适用场景:React 应用中的 API 调用、防止被放弃 Promise 导致的内存泄漏、并发请求清理、不应中断 UI 的后台操作、超时与 AbortController 生命周期管理,以及不依赖 try-catch 的错误处理。

限制与注意事项:务必在卸载时清理 AbortManager,否则会泄漏;需单独处理 AbortError(error.name !== 'AbortError')避免误报;不要将 backgroundOperation 用于关键操作;不要在渲染中新建 AbortManager;应为所有 fetch 设置合理超时。文中未提供具体的安装命令、许可信息或价格说明。