promisify() {
    return new Promise((resolve, reject) => {
      this.transaction.onerror = event => {
        console.log('tx:onerror');
        reject(event.target);
      };

      this.transaction.onabort = event => {
        console.log('tx:onabort');
        reject(event.target);
      };

      resolve(this);
    });
  }
/**
   * [promisify turns the IDBTransaction into a promise]
   * @return {Promise<Transaction>} [Promise that resolves immediately with itself or rejects on error]
   */
[promisify turns the IDBTransaction into a promise]
@return {Promise} [Promise that resolves immediately with itself or rejects on error]
[ promisify turns the IDBTransaction into a promise ] @return { Promise } [ Promise that resolves immediately with itself or rejects on error ]
promisify() {
    return new Promise((resolve, reject) => {
      this.transaction.onerror = event => {
        console.log('tx:onerror');
        reject(event.target);
      };
      this.transaction.onabort = event => {
        console.log('tx:onabort');
        reject(event.target);
      };
      resolve(this);
    });
  }
promisify ( ) { return new Promise ( ( resolve , reject ) => { this . transaction . onerror = event => { console . log ( 'tx:onerror' ) ; reject ( event . target ) ; } ; this . transaction . onabort = event => { console . log ( 'tx:onabort' ) ; reject ( event . target ) ; } ; resolve ( this ) ; } ) ; }
[promisify turns the IDBTransaction into a promise]
 @return {Promise<Transaction>} [Promise that resolves immediately with itself or rejects on error]
[ promisify turns the IDBTransaction into a promise ] @return { Promise<Transaction > } [ Promise that resolves immediately with itself or rejects on error ]