📅  最后修改于: 2023-12-03 14:51:47.773000             🧑  作者: Mango
在Web应用程序中,经常需要将某些数据存储在客户端的本地存储中。常用的本地存储包括cookie、Web Storage(本地存储和会话存储)以及IndexedDB。在这些本地存储中,IndexedDB是一种专门用于存储结构化数据的API,具有一些重要特性,例如存储容量较大、支持事务、支持索引等。
当不再需要存储在IndexedDB中的数据时,通常需要将其删除以便节省存储空间。下面将介绍如何从IndexedDB中删除数据。
IndexedDB使用异步API操作数据,因此需要先打开数据库。使用window.indexedDB.open()
方法打开数据库:
const DB_NAME = 'myDB';
const DB_VERSION = 1;
let db;
const request = window.indexedDB.open(DB_NAME, DB_VERSION);
request.onerror = function(event) {
console.log('打开数据库失败');
};
request.onsuccess = function(event) {
db = event.target.result;
console.log('打开数据库成功');
};
有了打开的数据库引用,就可以执行删除操作。使用IDBObjectStore.delete()
方法删除指定的数据:
const txn = db.transaction('storeName', 'readwrite');
const store = txn.objectStore('storeName');
const request = store.delete('1');
request.onerror = function(event) {
console.log('删除失败');
};
request.onsuccess = function(event) {
console.log('删除成功');
};
以上代码中,首先创建了一个事务对象txn
,其访问模式为“读写”。然后获取了存储对象store
,其中的storeName
为存储对象的名称。接下来调用了store.delete()
方法,传入了要删除的数据的键值1
。如果删除成功,则onsuccess
回调函数会被执行。
从IndexedDB中删除数据需要打开数据库、创建事务对象和获取存储对象,然后调用存储对象的delete()
方法删除数据。删除操作是异步的,需要通过回调函数处理成功和失败的情况。
以上就是从异步存储中删除项目的介绍,希望对程序员有所帮助。