indexDB 批量删除数据
时间: 2024-05-06 08:19:37 浏览: 164
批量删除数据库文件
使用IndexDB批量删除数据,需要使用transaction来处理删除操作。以下是一个示例代码:
```javascript
// 打开数据库
const request = indexedDB.open('myDatabase', 1);
let db;
request.onsuccess = function(event) {
db = event.target.result;
// 开启事务
const transaction = db.transaction(['myObjectStore'], 'readwrite');
const objectStore = transaction.objectStore('myObjectStore');
// 删除多个数据
const deleteRequests = [1, 2, 3].map((id) => objectStore.delete(id));
// 监听所有删除请求完成
Promise.all(deleteRequests)
.then(() => {
console.log('数据删除成功');
})
.catch((error) => {
console.error('数据删除失败', error);
});
// 提交事务
transaction.oncomplete = function() {
console.log('事务提交成功');
};
};
```
上述代码首先打开数据库,并开启一个读写事务。然后使用`map`方法创建多个删除请求,并将这些请求存储在一个数组中。接着使用`Promise.all`方法监听所有删除请求完成,如果所有请求都成功完成,则输出“数据删除成功”,否则输出“数据删除失败”。最后提交事务,如果事务提交成功,则输出“事务提交成功”。
阅读全文