feat(abortController): 添加readyToAbort函数用于创建并注册AbortController

提供便捷方法创建AbortController并自动注册到全局映射中,简化取消操作的流程
This commit is contained in:
icarus 2025-08-29 22:04:53 +08:00
parent f76952b0dd
commit e653a52265

View File

@ -49,3 +49,25 @@ export function createAbortPromise<T>(signal: AbortSignal, finallyPromise: Promi
})
})
}
/**
* AbortController abort
* @param key - AbortController
* @returns AbortSignal - AbortController
* @example
* ```typescript
* const signal = readyToAbort('uniqueKey');
* fetch('https://api.example.com/data', { signal })
* .then(response => response.json())
* .catch(error => {
* if (error.name === 'AbortError') {
* console.log('Fetch aborted');
* }
* });
* ```
*/
export function readyToAbort(key: string) {
const controller = new AbortController()
addAbortController(key, controller.abort)
return controller.signal
}