const request = window.indexedDB.open('personDB', 1)
var db
/*
*数据仓库打开失败
*/
request.onerror = function(error) {
console.log('IndexedDB 打开失败', error)
};
/*
*数据仓库打开成功
*/
request.onsuccess = function(res) {
console.log('IndexedDB 打开成功', res)
db = res.target.result
}
/*
*数据仓库升级事件(第一次新建库是也会触发,因为数据仓库从无到有算是升级了一次)
*/
request.onupgradeneeded = function(res) {
console.log('IndexedDB 升级成功', res)
db = res.target.result
if (!db.objectStoreNames.contains('person')) {
const db_table = db.createObjectStore('person', { keyPath: 'id' })
db_table.createIndex('indexName', 'name', { unique: false })
}
}
使用上述代码在浏览器中新建一个IndexedDB数据库,再使用下面的代码删除数据库,发现删除没反应,一直没有输出删除成功,请问这是为什么?
const deleteRequest = window.indexedDB.deleteDatabase('personDB')
deleteRequest.onerror = function (event) {
console.log("删除失败")
}
deleteRequest.onsuccess = function (event) {
console.log("删除成功")
}
问题出现在:
personDB
是题主打开的一个数据库 链接,它并不是真实的数据库名字那么到底真实的数据库叫什么呢?答案在看这一行
修正:
测试得到删除成功,命令行打印
Database deleted successfully