Flávio, analisando o código da aula, acho desnecessário colocar a validação da existência da connection no onsuccess. Se a conexão existir, nem sequer seria necessário pedir para abrir uma conexão, certo? Implementei isso no meu código e consegui testar com sucesso. Segue a maneira como implementei:
static getConnection() {
return new Promise((resolve, reject) => {
if(connection) {
console.log("Connection existe, retornando");
resolve(connection);
return;
}
var openRequest = window.indexedDB.open(dbName, 4);
// ...
}
Existe algum problema que não enxerguei com essa solução? Obrigado!