缺陷 / 高 / Agent 引擎
electron/harness/agent-loop/engine.ts
waitForAbort 实现:
async waitForAbort(timeoutMs = 5000): Promise<boolean> { if (!this.currentRunPromise) return true; try { await Promise.race([ this.currentRunPromise.catch(() => {}), new Promise<void>(resolve => setTimeout(resolve, timeoutMs)), ]); return true; // 总是返回 true } catch { return false; } }
问题:
async waitForAbort(timeoutMs = 5000): Promise<boolean> { if (!this.currentRunPromise) return true; let timedOut = false; const timer = new Promise<void>(resolve => setTimeout(() => { timedOut = true; resolve(); }, timeoutMs) ); await Promise.race([ this.currentRunPromise.catch(() => {}), timer, ]); return !timedOut; // 超时返回 false }
调用方应根据返回值决定是否提示用户"上一次操作未完成,请稍候"。
No dependencies set.
The note is not visible to the blocked user.
问题类型
缺陷 / 高 / Agent 引擎
文件位置
electron/harness/agent-loop/engine.ts问题描述
waitForAbort 实现:
问题:
影响
建议修复
调用方应根据返回值决定是否提示用户"上一次操作未完成,请稍候"。