MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / abortable

Function abortable

packages/agent-core/src/utils/abort.ts:35–46  ·  view source on GitHub ↗
(promise: Promise<T>, signal: AbortSignal)

Source from the content-addressed store, hash-verified

33}
34
35export function abortable<T>(promise: Promise<T>, signal: AbortSignal): Promise<T> {
36 if (signal.aborted) return Promise.reject(abortReason(signal));
37 return new Promise<T>((resolve, reject) => {
38 const onAbort = () => {
39 reject(abortReason(signal));
40 };
41 signal.addEventListener('abort', onAbort, { once: true });
42 promise.then(resolve, reject).finally(() => {
43 signal.removeEventListener('abort', onAbort);
44 });
45 });
46}
47
48export function linkAbortSignal(source: AbortSignal, target: AbortController): () => void {
49 const onAbort = () => {

Callers 6

abort.test.tsFile · 0.90
ensureRgPathFunction · 0.90
sleepForRetryFunction · 0.90
waitForInitialLoadMethod · 0.90
abortableRpcFunction · 0.90
waitForCurrentTurnMethod · 0.90

Calls 2

abortReasonFunction · 0.85
rejectMethod · 0.65

Tested by

no test coverage detected