Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查IndexedDB中是否存在存储密钥?_Javascript_Indexeddb_Dexie - Fatal编程技术网

Javascript 如何检查IndexedDB中是否存在存储密钥?

Javascript 如何检查IndexedDB中是否存在存储密钥?,javascript,indexeddb,dexie,Javascript,Indexeddb,Dexie,我想检查并更新indexeddb商店中的商品数量(如果已经存在)。这是我如何使用Dexie将当前项目添加到商店的 异步函数addNfetch(itemdata){ 返回新承诺((解决、拒绝)=>{ db.table('cartitems') .add(itemdata) .然后(()=>{ db.table(“cartitems”).toArray().then((itemArry)=>{ log(“项数组”,itemArry) 解析(itemArry) }) }) .catch(错误=>{

我想检查并更新indexeddb商店中的商品数量(如果已经存在)。这是我如何使用Dexie将当前项目添加到商店的

异步函数addNfetch(itemdata){ 返回新承诺((解决、拒绝)=>{ db.table('cartitems') .add(itemdata) .然后(()=>{ db.table(“cartitems”).toArray().then((itemArry)=>{ log(“项数组”,itemArry) 解析(itemArry) }) }) .catch(错误=>{ console.log(错误); }); }) } put()与add()类似,但如果条目已存在,则更新该条目

另外,还有一点需要注意:您不需要创建新的Promise()来调用基于Promise的API:s。这个例子不需要是异步的,因为它只调用一个API方法。它同样可以是:

async function addNfetch (itemdata) {
  return await db.table('cartitems').put(itemdata);
}
但正如您所看到的,在这个示例中,它并没有真正简化任何事情

async function addNfetch (itemdata) {
  return await db.table('cartitems').put(itemdata);
}