You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron中检测目录时控制台出现pending Promise的原因排查

为什么Electron开发者工具控制台中Promise回调未触发?
  • 你当前是在代码暂停状态(比如断点触发、调试器挂起时)执行这段异步代码,此时Electron的事件循环被完全阻塞,Promise的then/catch回调根本没机会被调度执行,所以看不到console.log输出,只会返回处于pending状态的Promise对象。
  • 开发者工具在暂停调试时,会冻结整个事件循环,所有异步任务(包括Promise回调、文件I/O的回调)都会被挂起,直到你点击调试器的「继续」按钮恢复运行,这些回调才会被处理,console.log才会正常输出。
  • 额外提一句:检测目录存在更合适的方式是用fs.promises.access(serverRoot, fs.constants.F_OK),open方法主要用于打开文件/目录做读写操作,不是专门的存在性检测工具,但这不是你当前回调不执行的核心原因。
  • 验证方案:取消代码暂停状态,重新在控制台运行这段代码,then或catch里的日志就会正常打印出来。

内容的提问来源于stack exchange,提问作者Manngo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:32:05