2017-09-08 6 views
0

Object Storeメソッドで "テーブル"の名前を指定するのは、トランザクションが1つの "テーブル"のみである場合は反復的なようです。トランザクションとオブジェクトストアの両方の命名の繰り返し

Qは:の繰り返しを削減する方法はあります:

var transaction = db.transaction(["toDoList"], "readwrite"); 
var objectStore = transaction.objectStore("toDoList"); 
+0

名前を変数に格納しますか?または、APIを使用するためのより簡潔な方法があるかどうか尋ねていますか? – Josh

答えて

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

関連する問題