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已经写了很臃肿了(┬_┬)
};
};
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
自问自答吧哎。看来IndexedDB太小众化了。没什么人用。
算是半解决 直接用.put方法就好 因为偶然看见文档上写了。put方法没有的话就自增了。所以直接put就好