1
resposta

Você não pode fechar diretamente a conexão.

Nesta parte do código, eu não estava conseguindo receber o erro "Você não pode fechar diretamente a conexão." ao fechar a conexão.Porém, após retirar o else funcionou. Minha pergunta é: nessa situação não era um if else, ou seja, o resolve executaria independentemente do if. Ou se a síntaxe usada (sem o else) é regra nessa situação. E se não, por que o com o else nao funciona?

if(!connection) {
                        connection = e.target.result;
                        connection.close = function() {
                            throw new Error ('Você não pode fechar diretamente a conexão.')
                        };
                    } 
                    else {    
                        resolve(connection);    
```                }
1 resposta

Fala ai Lucas, tudo bem? Vamos lá:

Minha pergunta é: nessa situação não era um if else, ou seja, o resolve executaria independentemente do if. Ou se a síntaxe usada (sem o else) é regra nessa situação. E se não, por que o com o else nao funciona?

Sim, o resolve é para ser executado independe do if.

Nesse caso, você não precisaria do else e dando umas olhadas nos códigos feito em aula, não existe mesmo o else.

Ficando algo assim:

if(!connection) {
        connection = e.target.result;
        close = connection.close;
        connection.close = function() {
              throw new Error('Você não pode fechar diretamente a conexão');
    };
}
resolve(connection); 

Espero ter ajudado.