IDBFactory: deleteDatabase() 方法
注意:此功能在 Web Workers 中可用。
IDBFactory 接口的 deleteDatabase() 方法用于请求删除数据库。该方法会立即返回一个 IDBOpenDBRequest 对象,并异步执行删除操作。
如果数据库被成功删除,则在该方法返回的请求对象上会触发一个 success 事件,其 result 属性设置为 undefined。如果数据库删除过程中发生错误,则在该方法返回的请求对象上会触发一个 error 事件。
当调用 deleteDatabase() 时,所有指向该特定数据库的其他打开连接都会收到一个 versionchange 事件。
语法
js
// For the current standard:
deleteDatabase(name)
// For the experimental version with `options` (see below):
deleteDatabase(name)
deleteDatabase(name, options)
参数
name-
要删除的数据库的名称。请注意,尝试删除不存在的数据库不会抛出异常,这与
IDBDatabase.deleteObjectStore()不同,后者在命名的对象存储不存在时会抛出异常。 options可选 非标准-
在 Gecko 中,自 版本 26 起,您可以包含一个非标准的、可选的存储参数,用于指定是希望删除
permanent(默认值) 的 IndexedDB,还是temporary存储 (也称为共享池) 中的 IndexedDB。
返回值
一个 IDBOpenDBRequest 对象,后续与此请求相关的事件将在此对象上触发。
如果操作成功,请求的 result 属性的值为 null。
示例
js
const DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");
DBDeleteRequest.onerror = (event) => {
console.error("Error deleting database.");
};
DBDeleteRequest.onsuccess = (event) => {
console.log("Database deleted successfully");
console.log(event.result); // should be undefined
};
规范
| 规范 |
|---|
| Indexed Database API 3.0 # ref-for-dom-idbfactory-deletedatabase① |
浏览器兼容性
加载中…
另见
- 使用 IndexedDB
- 开始事务:
IDBDatabase - 使用事务:
IDBTransaction - 设置键的范围:
IDBKeyRange - 检索和修改数据:
IDBObjectStore - 使用游标:
IDBCursor - 参考示例:待办事项通知(查看实时示例)。