Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Alteração no método ConnectionFactory.getConnection()

Não seria melhor testar se a variável "connection" possui valor antes de chamar o método "window.indexedDB.open(dbName, version);" ? .Ex:

static getConnection(){

   return new Promise((resolver, reject) => {
       //Teste sugerido
       if (_connection){

           resolver(_connection);
           return;

       }

       var openRequest = window.indexedDB.open(dbName, version);

       openRequest.onupgradeneeded = e => {

           ConnectionFactory._createStores(e.target.result);
           console.log('Upgrade DB...');

       };

       openRequest.onsuccess = e => {

           _connection = e.target.result;
           _close = _connection.close.bind(_connection);
           _connection.close = () => {
               throw new Error('Utilize ConnectionFactory.closeConnection() para fechar a conexão');
           }

           resolver(_connection);

       };

       openRequest.onerror = e => {

           console.log(e.target.error);
           reject(e.target.error.name);

       };

   });

}

Do outro modo, testando a variável "connection" somente no método "onsuccess" do openRequest, não estaríamos criando diversas conexões porém retornando sempre a primeira conexão criada?

1 resposta
solução!

Tem razão. Acho que papei mosca quando fiz o código ao vivo na gravação.

Pode colocar no currículo que corrigiu o cangaceiro Lampião aqui.

Ficou perfeito, sidi.