`title: Web Locks API 并发访问协调与持久化安全``categories: Web 开发/前端/数据管理``keywords: Web Locks API,navigator.locks,并发,持久化,IndexedDB,OPFS``description: 使用 Web Locks API 协调多任务对 IndexedDB 与 OPFS 的并发访问,避免竞态与损坏,提升前端持久化的可靠性。`基本用法async function withLock(name, fn) { return navigator.locks.request(name, { mode: 'exclusive' }, fn); } async function safeWriteOPFS(name, bytes) { await withLock('opfs-write:' + name, async () => { const root = await navigator.storage.getDirectory(); const handle = await root.getFileHandle(name, { create: true }); const sync = await handle.createSyncAccessHandle(); try { sync.write(bytes); sync.flush(); } finally { sync.close(); } }); } 协调 IndexedDB针对对象仓库的写操作以同名锁包裹,避免多标签页并发写导致的事务失败。

发表评论 取消回复