`title: OPFS 原子写与临时文件替换策略``categories: Web 开发/前端/数据管理``keywords: OPFS,原子写,临时文件,替换,可靠性``description: 通过先写入临时文件并在成功后替换引用的策略,实现 OPFS 的原子性效果,避免中途失败导致的文件损坏。`写入策略async function atomicWrite(name, bytes) { const root = await navigator.storage.getDirectory(); const tmp = await root.getFileHandle(name + '.tmp', { create: true }); const w = await tmp.createWritable(); await w.write(bytes); await w.close(); await root.removeEntry(name).catch(() => {}); const final = await root.getFileHandle(name, { create: true }); const fw = await final.createWritable(); const file = await tmp.getFile(); await fw.write(await file.arrayBuffer()); await fw.close(); await root.removeEntry(name + '.tmp').catch(() => {}); }

发表评论 取消回复