代码之家  ›  专栏  ›  技术社区  ›  Phillip Senn mpgn

重复命名事务和对象存储

  •  0
  • Phillip Senn mpgn  · 技术社区  · 7 年前

    Object Store 如果事务仅用于1个“表”,则方法似乎是重复的。

    Q: 有没有办法减少以下内容的重复:

    var transaction = db.transaction(["toDoList"], "readwrite");
    var objectStore = transaction.objectStore("toDoList");
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   dumbmatter    7 年前

    存在重复的原因是您可以在多个对象存储上打开事务。如果您通常只是在一个对象存储上打开事务,则可以将其包装在函数中:

    function getObjectStore(name) {
        var transaction = db.transaction([name], "readwrite");
        return transaction.objectStore(name);    
    }
    
    var objectStore = getObjectStore("toDoList");
    

    http://dexie.org/ https://github.com/jakearchibald/idb