gpt4 book ai didi

javascript - 何时以及为什么在 indexedDB 中调用 onupgradeneeded 方法?

转载 作者:太空狗 更新时间:2023-10-29 13:12:00 29 4
gpt4 key购买 nike

我正在使用 IndexedDB对于一个测试项目。下面是一些示例代码:

var indexedDB = window.indexedDB || window.webkitIndexedDB 
||window.mozIndexedDB||window.msIndexedDB;

var request = indexedDB.open("mydb",2),

customerData=[
{ssn:"444-44-4444",name:"Bill",age:35,email:"bill@company.com"},
{ssn:"555-55-5555",name:"Donna",age:32,email:"donna@home.org"}
];

request.onerror = function(event){

};
request.onupgradeneeded = function(event) {

var objectStore = db.createObjectStore("customers",{keyPath:"ssn"});
objectStore.createIndex("name","name",{unique:false});
objectStore.createIndex("email","email",{unique:true});

for(var i in customerData){
objectStore.add(customerData[i]);
}
};
request.onsuccess = function(e) {

};

我真正不明白的是我的请求对象何时运行 onupgradeneeded 而不是 onsuccess (当然假设没有错误)。是在没有对象存储的时候吗?或者何时创建新的数据库版本?

谢谢

最佳答案

根据这个:https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB?redirectlocale=en-US&redirectslug=IndexedDB%2FIndexedDB_primer你已经有了正确的答案:

onupgradeneeded 在您更改数据库版本时调用:从无数据库到第一个版本,从第一个版本到第二个版本......

onsuccess 每次您发出新请求时都会被调用:即使数据库架构没有更改。

关于javascript - 何时以及为什么在 indexedDB 中调用 onupgradeneeded 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133306/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com