Nessa parte do código referenciamos a funcao close() sem o parenteses
if(!connection) {
connection = e.target.result;
connection.close = function() {
throw new Error ('Você não pode fechar diretamente a conexão.')
};
}
else {
resolve(connection); }
Por que?:
connection.close = function()
e não? :
connection.close() = function() {}
Não captei as minúcias. E por que no fim, no método static closeConnection ele simplesmente faz isso:
static closeConnection(){
if(connection){
close();
connection = null;
}
}