用途:Obsidian 没有传统 API 速率限制,但基于 Electron 单线程 UI,本技能提供去抖、批处理、节流和异步队列模式,让插件在处理大量文件时保持响应。
主要能力:用内置 debounce 处理 vault.on('modify') 事件,避免每次按键都触发;按批处理文件并在批次间用 await sleep(0) 让出 UI 线程;用 requestAnimationFrame 合并 DOM 更新;用写队列串行化写入,防止同一文件并发写入损坏;用 Notice 显示长任务进度;用 registerInterval 注册周期任务并在卸载时自动清理。
使用方式:需了解 JavaScript 事件循环、requestAnimationFrame、async/await 与 Promise,并已有可操作文件的 Obsidian 插件。示例包括 debounce(handler, 500, true)、按 50 个文件分批、WriteQueue 串行写入、processFrontMatter 批量更新 frontmatter、registerInterval 配合重叠守卫。
适用场景:批量处理文件、重建索引、收集仓库统计、周期性同步等。
限制:资料未提供具体版本要求、安装命令或收费信息;去抖间隔建议不超过 500ms,避免漏掉文件变更;大仓库应分批处理并释放引用以降低内存压力。