Não estou conseguindo exibir todas as negociações. Segui o vídeo e também segui a transcrição, mas nada feito. Não recebo nenhum erro no console do navegador, e consigo inserir uma nova negociação no banco sem problemas. No entanto, quando chego no final da atividade 03 da aula 03, minhas negociações não são exibidas.
No arquivo NegociacaoDao, criei o método listaTodos, da seguinte forma:
listaTodos() {
return new Promise((resolve, reject) => {
let cursor = this._connection
.transaction([this._store],'readwrite')
.objectStore(this._store)
.openCursor();
});
let negociacoes = [];
cursor.onsuccess = e => {
let atual = e.target.result;
if(atual) {
let dado = atual.value;
negociacoes.push(new Negociacao(dado._data, dado._quantidade, dado._valor));
atual.continue();
} else {
resolve(negociacoes);
}
}
cursor.onerror = e => {
console.log(e.target.error);
reject('Não foi possível listar as negociações');
}
}
E no NegociacaoController, coloquei o ConnectionFactory dentro do constructor:
ConnectionFactory
.getConnection()
.then(connection => new NegociacaoDao(connection))
.then(dao => dao.listaTodos())
.then(negociacoes =>
negociacoes.forEach(negociacao =>
this._listaNegociacoes.adiciona(negociacao)));