Implementei o código como o do exercício, contudo modifiquei erroneamente uma instrução no método adiciona da classe NegociacaoDao. Sem querer eu deletei um caractere do método .transaction tornando-o .transation. O esperado é que com isso, minha request desse falha, imprimisse no console o e.target.error, enviasse para o Controller a mensagem: "Não foi possível adicionar a negociação" e este a exibisse para o usuário. O problema é que está sendo exibido para o usuário a seguinte mensagem: "TypeError: this._connection.transation is not a function" (erro que devia estar sendo exibido no console) e no console nenhum erro é exibido. Qual o motivo disso?
Código de NegociaçãoDao:
class NegociacaoDao {
constructor(connection){
this._connection = connection;
this._store = 'negociacoes';
}
adiciona(negociacao) {
return new Promise((resolve, reject) => {
let request = this._connection
.transation([this._store], 'readwrite')
.objectStore(this._store)
.add(negociacao);
request.onsuccess = e => {
resolve();
};
request.onerror = e => {
console.log(e.target.error);
reject('Não foi possível adicionar a negociação');
};
});
}
}
Código pertinente do Controller:
adiciona(event) {
event.preventDefault();
ConnectionFactory
.getConnection()
.then(connection => {
let negociacao = this._criaNegociacao();
new NegociacaoDao(connection)
.adiciona(negociacao)
.then(() => {
this._listaNegociacoes.adiciona(negociacao);
this._mensagem.texto = 'Negociação adicionada com sucesso';
this._limpaFormulario();
})
.catch(erro => this._mensagem.texto = erro);
});
}