如果交易仅适用于1“表”,则在Object Store方法中指定“表格”的名称似乎是重复的。
问:有没有办法减少重复:var transaction = db.transaction(["toDoList"], "readwrite");
var objectStore = transaction.objectStore("toDoList");
答案 0 :(得分:1)
重复的原因是您可以在多个对象库上打开一个事务。如果您通常只是在一个对象库上打开一个事务,则可以将其包装在一个函数中:
function getObjectStore(name) {
var transaction = db.transaction([name], "readwrite");
return transaction.objectStore(name);
}
var objectStore = getObjectStore("toDoList");
更一般地说,整个IndexedDB API相当冗长,使用像http://dexie.org/或https://github.com/jakearchibald/idb
这样的包装器库更令人愉快