mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-06-13 18:31:16 +08:00
fix: 修复所有 abort() 不传 reason 导致的'signal is aborted without reason'提示
为 llm.js/embedding.js/vector-index.js/index.js 中所有 controller.abort() 添加具体原因: - 超时: 'LLM 请求超时 (60s)' / 'Embedding 请求超时 (45s)' - 信号传递: 转发原始 signal.reason
This commit is contained in:
@@ -79,17 +79,17 @@ function createCombinedAbortSignal(...signals) {
|
||||
const controller = new AbortController();
|
||||
for (const signal of validSignals) {
|
||||
if (signal.aborted) {
|
||||
controller.abort();
|
||||
controller.abort(signal.reason);
|
||||
return controller.signal;
|
||||
}
|
||||
signal.addEventListener("abort", () => controller.abort(), { once: true });
|
||||
signal.addEventListener("abort", () => controller.abort(signal.reason), { once: true });
|
||||
}
|
||||
return controller.signal;
|
||||
}
|
||||
|
||||
async function fetchWithTimeout(url, options = {}, timeoutMs = VECTOR_REQUEST_TIMEOUT_MS) {
|
||||
const controller = new AbortController();
|
||||
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
||||
const timeout = setTimeout(() => controller.abort(new DOMException(`向量请求超时 (${Math.round(timeoutMs / 1000)}s)`, 'AbortError')), timeoutMs);
|
||||
const signal = options.signal
|
||||
? createCombinedAbortSignal(options.signal, controller.signal)
|
||||
: controller.signal;
|
||||
|
||||
Reference in New Issue
Block a user