2
respostas

Uncaught SyntaxError: Unexpected strict mode reserved word

Tentei buscar o erro que dá o nome do tópico na internet e não consegui entender o que leva a isto. E também ainda não encontrei uma dúvida semelhante no fórum do curso, se alguém puder me dar uma luz do que pode estar acontecendo, seria muito grato. Marquei com um comentário a linha que está mostrando causar o erro no console do Chrome.

var ConnectionFactory = (function () { //funcao anonima pra ninguem chamar ela

    var stores = ['negociacoes'];
    var version = 1;
    var dbName = 'aluraframe'

    var connection = null;
    return class ConnectionFactory {

        constructor() {
            throw new Error('Não é possível criar instâncias de ConnectionFactory')
        }
        static getConnection() {
            return new Promise((resolve, reject) => {

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

                openRequest.onupgradeneeded = e => {

                    ConnectionFactory._createStores(e.target.result); //ver metodo mais abaixo
                    console.log('Cria ou altera um banco já existente');
                };

                openRequest.onsuccess = e => {

                    if(!connection) connection = e.target.result //se a connection tiver valor de falso ou null
                    resolve(connection);
                    console.log('Conexão obtida com sucesso');
                };

                openRequest.onerror = e => {

                    console.log(e.target.error);
                    reject(e.target.error.name); //o .name é para retornar uma string
                };
            });

            static _createStores(connection) { //ERRO NESTA LINHA

                stores.forEach(store => {

                    if(connection.objectStoreNames.contains(store)) connection.deleteObjectStore(store);
                    connection.createObjectStore(store, {autoIncrement: true});
                });
            }

        }
    }

})(); //funcao autoinvocada anonima
2 respostas

Oi, Pedro, tudo bem?

Veja nessa linha aqui, let openRequest = window.indexedDB.open('dbName', version);, no campo onde está 'dbName', retire as aspas simples, porque você não está chamando a variável definida acima mas uma string literal. Testa e veja se corrige.

Oi Laís, obrigado pelo retorno. Realmente a sua correção foi precisa nesta linha, porém recarreguei o server node.js com o comando npm start. Tentei até trocar a versão pra o número 2, porém continua aparecendo o mesmo erro no console do Chrome apontando para esta parte: static _createStores(connection)