猿问

IndexedDB的判断更新数据和新增数据

业务场景:
AJAX发送请求后返回数据res,返回的数据为动态(可能很多,可能很少。可能有些需要更新有些需要新增)
我想实现一个判断ID是否重复 重复就更新 不重复就新增 但是由于IndexedDB .put(更新) .add(新增)是分开执行的没有那么强大和智能而且我AJAX的数据可能一个JSON里面有的需要新增有的需要更新。所以有些不知所措希望大神能给一些指点

success: function(res) {    // 开启本地数据库
    initDb();    var users = JSON.parse(res);    var tx = db.transaction("users", READ_WRITE);    var store = tx.objectStore("users");    var i = 0, len = users.length;    while(i < len){     var req= store.add(users[i++]);
     req.onsuccess = function (evt) {     console.debug("addData success:", evt.target.result);
     };
     req.onerror = function (evt) {         //一开始想在这里写上更新的方法 但是好像新增不成功就抛异常了
         //而且新增数据里只要有一条ID重复就会抛异常,不太懂应该怎么实现希望能有大神指点一下
         //最好能简单点。因为甲方变态要求页面JS已经写了很臃肿了(┬_┬)
     };
    };
   };


MYYA
浏览 1583回答 1
1回答

繁华开满天机

自问自答吧哎。看来IndexedDB太小众化了。没什么人用。算是半解决 直接用.put方法就好 因为偶然看见文档上写了。put方法没有的话就自增了。所以直接put就好
随时随地看视频慕课网APP

相关分类

Html5
我要回答