docs: function(storeNames, mode, result, cb) {
      var transaction;
      try {
        transaction = this.idb.transaction(storeNames, mode);
      } catch (err) {
        if (isFunction(cb)) return cb(err);
      }
      transaction.onabort = function(event) {
        if (isFunction(cb)) return cb(event.target.error);
      };
      transaction.onerror = function(event) {
        if (isFunction(cb)) return cb(event.target.error);
      };
      transaction.oncomplete = function(event) {
        if (isFunction(cb)) return cb(null, result);
      };
      return transaction;
    }