Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Mensagem de Conexão Obtida

Boa tarde!

Estou acompanhando as aulas, onde inclusive o código-fonte está igual ao estipulado em aula. Todavia, quando abro a página e pretendo visualizar no console do navegador a mensagem "Conexão Obtida com Sucesso " (através do openRequest.onsucess) não aparece nada.

Tentei em três navegadores: Google Chrome, Firefox e Edge. Em todos eles quando eu crio pela primeira vez o BD funciona (entra no openRequest.onupgradeneeded) e mostra a mensagem no console referente ao "Cria ou altera um BD existente"). Contudo, não retorna nem mensagem de erro, nem o retorno do 'onsucess' que a conexão foi obtida.

Dessa forma, ao tentar utilizar o método 'adicionaI()' ele não grava nada, pois aparentemente não há conexões obtidas.

Poderiam me ajudar!?

Apenas por desencargo, código abaixo:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Aprendendo IndexedDB</title>
</head>
<body>
    <script src="js/app/models/Negociacao.js"></script>
    <script>
        var connection;

        var openRequest = window.indexedDB.open('aluraframe', 3); 

        openRequest.onupgradeneeded = e => {
            console.log('Cria ou Altera um BD já existente.');

            let minhaConnection = e.target.result;

            if(minhaConnection.objectStoreNames.contains('negociacoes')){
                minhaConnection.deleteObjectStore('negociacoes');             
            }

            minhaConnection.createObjectStore('negociacoes', { autoIncrement: true });         
        };

        openRequest.onsucess = e => {
            console.log('Conexão obtida com sucesso.');
            connection = e.target.result; 
        };

        openRequest.onerror = e => {
            console.log(e.target.error);
        };

        function adiciona(){
            let transaction = connection.transaction(['negociacoes'], 'readwrite');
            let store = transaction.objectStore('negociacoes');
            let negociacao = new Negociacao(new Date(), 1, 200);

            let request = store.add(negociacao);

            request.onsucess = e => {
                console.log('Negociação inserida com sucesso.');
            }

            request.onerror = e => {
                console.log('Não foi possível incluir a negociação.');
            }
        }
    </script>
</body>
</html>

Obs: não está entrando aqui:

  openRequest.onsucess = e => {
            console.log('Conexão obtida com sucesso.');
            connection = e.target.result; 
        };
3 respostas
solução!

Olá!

Sucesso em inglês é com dois c e dois s.

Você escreveu assim:

openRequest.onsucess

No código da aula e no vídeo eu escrevi assim:

openRequest.onsuccess

Sucesso e bom estudo!

Poxa, eu acabei deixando passar essa.

Peço desculpas Flávio, está tudo funcional agora.

O legal é que passei várias vezes pelo mesmo lugar e passou batido kk

Abraços, parabéns pelo curso.

Esse é um erro clássico que cometo as vezes também! Por isso descobri rapidamente.

Sucesso e bom estudo meu aluno!