在 addWatch 失败时返回无效的时钟 ID
作者: AAdIprog创建于 2026年3月5日更新于 2026年9月12日
标签bug
`Neutralino.filesystem.createWatcher` 不能处理底层监视器的失败(例如,不存在或无法访问的路径)。它仍然注册并返回一个无效的监视器 ID,这可能会使监视器处于不一致的状态。 **要重现** 重现此问题的步骤: 1. 创建一个 Neutralinojs 应用程序并启用原生 API。 2. 调用 `Neutralino.filesystem.createWatcher("/path/does/not/exist")`。 3. 观察返回的监视器 ID。 4. 调用 `Neutralino.filesystem.removeWatcher(<返回的 ID>)`,并查看它是否失败或表现不一致。 **预期行为** `createWatcher` 在无法注册路径时应返回错误(或失败结果),并且不应在内部存储无效的监视器。 **屏幕截图/屏幕录制** 不适用。 **规格** - 操作系统:macOS 14.x(Apple Silicon) - Neutralinojs 版本:[填写 `neu 版本`] - Neutralinojs 客户端库版本:[填写 `neu 版本`] - Neutralinojs CLI 版本:[填写 `neu 版本`] **其他上下文** 当路径不存在或无法监视时,就会出现此问题。返回的 ID 可能是无效的(例如,-1),但仍会被存储并返回,这可能会导致内存泄漏和未来的 API 失败。
内容来源: neutralinojs/neutralinojs