gpt4 book ai didi

javascript - 如果未定义,则将值存储到indexedDB

转载 作者:行者123 更新时间:2023-12-01 03:41:36 25 4
gpt4 key购买 nike

我正在尝试检查服务 worker 的索引数据库中是否有“uid”记录。如果未定义,我需要为其添加一个值。

这是我的代码,我已经尝试过在其他问题和网站上找到的一些方法,但没有成功。

function checkUid() {
console.log('checking uid...');
var request = indexedDB.open('db',1);


request.onsuccess = function(event) {
var db = event.target.result;
var store = db.createObjectStore('Users', {keyPath:"users"});
var transaction = event.target.transaction;

db.transaction( '' ).objectStore( '' ).get( 'uid' ).onsuccess =
function(uid)
{
if (uid) {
console.log('uid found!');
console.log(uid);
console.log('uid end');

} else {
console.log('not found!');
db.transaction( '' ).objectStore( '' ).set( 'uid', 'aaaaa' );
console.log('uid end');
}
}

}

我该怎么做?

最佳答案

此代码打开名为 example 的数据库,根据需要创建名为 users 的对象存储,获取带有键 x123 的对象从该存储中获取该对象,并创建该对象(如果该对象尚不存在)。

function checkUid() {
let openRequest = indexedDB.open("example")
openRequest.onupgradeneeded = () => {
console.log("update needed")
openRequest.result.createObjectStore("users")
}
openRequest.onsuccess = () => {
console.log("opened database")
let store = openRequest.result.transaction("users", "readwrite").objectStore("users")
let uid = "x123"
let getRequest = store.get(uid)
getRequest.onsuccess = () => {
let result = getRequest.result
if (result) {
console.log("found:", result)
} else {
console.log("not found")
store.add("aaaaa", uid)
}
}
}
}

关于javascript - 如果未定义,则将值存储到indexedDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43832277/

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