MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / combine

Method combine

ai/ai.ts:2420–2470  ·  view source on GitHub ↗
(
    timeoutController: AbortController,
    externalToken?: AbortToken,
  )

Source from the content-addressed store, hash-verified

2418
2419 private combine(
2420 timeoutController: AbortController,
2421 externalToken?: AbortToken,
2422 ): AbortToken {
2423 const controller = new AbortController();
2424
2425 if (timeoutController.signal.aborted)
2426 controller.abort(timeoutController.signal.reason);
2427 else
2428 timeoutController.signal.addEventListener(
2429 "abort",
2430 () => controller.abort(timeoutController.signal.reason),
2431 {
2432 once: true,
2433 },
2434 );
2435
2436 if (externalToken) {
2437 if (externalToken.aborted) controller.abort(externalToken.reason);
2438 else
2439 externalToken.signal.addEventListener(
2440 "abort",
2441 () => controller.abort(externalToken.reason),
2442 {
2443 once: true,
2444 },
2445 );
2446 }
2447
2448 return {
2449 get aborted() {
2450 return controller.signal.aborted;
2451 },
2452 get reason() {
2453 return controller.signal.reason?.toString();
2454 },
2455 get signal() {
2456 return controller.signal;
2457 },
2458 abort(reason?: string) {
2459 controller.abort(reason);
2460 },
2461 throwIfAborted() {
2462 if (controller.signal.aborted) {
2463 throw new UserError(
2464 controller.signal.reason?.toString() || "操作已取消",
2465 );
2466 }
2467 },
2468 };
2469 }
2470}
2471
2472class HttpClient {
2473 private axiosInstance: AxiosInstance;

Callers 1

processMethod · 0.95

Calls 1

abortMethod · 0.65

Tested by

no test coverage detected