`title: IndexedDB 批量删除与游标清理实践``categories: Web 开发/前端/数据管理``keywords: IndexedDB,批量删除,游标,清理,配额``description: 使用游标遍历实现批量删除与清理策略,结合窗口与分批事务,降低配额压力并保持性能。`示例async function deleteBefore(db, storeName, idxName, beforeTs) {
return new Promise((resolve, reject) => {
const tx = db.transaction(storeName, 'readwrite');
const idx = tx.objectStore(storeName).index(idxName);
const r = IDBKeyRange.upperBound(beforeTs);
idx.openCursor(r).onsuccess = e => { const c = e.target.result; if (!c) return; c.delete(); c.continue(); };
tx.oncomplete = () => resolve();
tx.onerror = () => reject(tx.error);
});
}

发表评论 取消回复