indexedDB问题

        new Promise(resolve=>
        {
            let request=indexedDB.open("vector",1);
            let db;
            request.addEventListener("success",event=>
            {
                db=event.target.result;
                resolve(db);
            });
            request.addEventListener("upgradeneeded",event=>
            {
                const db=event.target.result;
                if(db.objectStoreNames.contains("xy"))
                    db.deleteObjectStore("xy");
                db.createObjectStore("xy",{keyPath:"x"});
            });
        }).then(db=>
        {
            let transaction=db.transaction("xy","readwrite");

            transaction.addEventListener("error",()=>console.log("事务失败"));
            transaction.addEventListener("complete",()=>console.log("事务成功"));
            let store=transaction.objectStore("xy");
            // const request2=store.add({
            //     x:"999",
            //     y:"111"
            // });
            // request2.addEventListener("error",()=>console.log("存储失败"));
            // request2.addEventListener("success",()=>console.log("存储成功"));

            const request3=store.get("22222");
            request3.addEventListener("error",()=>console.log("get请求失败"));
            request3.addEventListener("success",event=>
            {
                console.log(event.target.result);
                console.log("get请求成功");
            });
            
        });

在我第一次存储的时候,都是成功的,这没问题。
但是在我第二次运行的时候,

// const request2=store.add({
            //     x:"999",
            //     y:"111"
            // });
            // request2.addEventListener("error",()=>console.log("存储失败"));
            // request2.addEventListener("success",()=>console.log("存储成功"));

我把这段代码注释了,此时本地存储应该只有X 999 Y 111
可是get返回了请求成功为什么?

阅读 608
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题