As negociações não querem aparecer. Já fiz tudo de acordo com os vídeos e as transcrições, mas não consigo achar onde estou errando. Ai no console apareceu essa mensagem de erro, mas quando resolvi tirar o getTime() da linha que é informado o erro, acaba aparecendo outro erro, mas não no console, mas sim na lista que finalmente aparece. Não sei mais o que fazer. Alguém me ajuda, por favor!!
Mensagem de erro no console -
Uncaught TypeError: Cannot read property 'getTime' of undefined
at new Negociacao (Negociacao.js:5)
at IDBRequest.cursor.onsuccess.e (NegociacaoDao.js:51)
class Negociacao -
class Negociacao {
constructor(data, quantidade, valor){
this._data = new Date(data.getTime());
this._quantidade = quantidade;
this._valor = valor;
Object.freeze(this);
}
get volume(){
return this._quantidade * this._valor;
}
get data(){
return new Date(this._data.getTime());
}
get quantidade(){
return this._quantidade;
}
get valor(){
return this._valor;
}
}
class NegociacaoDao
class NegociacaoDao {
constructor(connection) {
this._connection = connection;
this._store = 'negociacoes';
}
adiciona(negociacao) {
return new Promise ((resolve, reject) => {
let request = this._connection
.transaction([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 conexão.');
};
});
}
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.');
}
});
}
}
Quando eu retirei o getTime, no console o erro sumiu, mas a lista ficou assim.
DATA QUANTIDADE VALOR VOLUME
12/12/2018 1 200 200
NaN/NaN/NaN undefined undefined NaN
4/1/2019 7 100 700
12/12/2019 2 12 24
12/12/2019 2 33 66
NaN