无法读取未定义的属性“toDate”
2020-03-02
970
我在这段代码中收到
Uncaught (in promise) TypeError: Cannot read property 'toDate' of undefined
。是什么触发了这个错误?代码运行后屏幕上显示了我想要的内容,但我仍然收到此错误。
const pr1200 = document.querySelector('#comentarios-pb-preco');
function renderPreco1200(doc){
let li = document.createElement('li');
let name = document.createElement('span');
let dat = document.createElement('span');
if (doc.data() == "X"){
console.log("Do not get this Value");
}
else {
li.setAttribute('data-id', doc.id);
name.textContent = doc.data().Obs;
dateNow = doc.data().timestamp;
dat.textContent = dateNow.toDate(); //This line
li.appendChild(name);
li.appendChild(dat);
pr1200.appendChild(li);
}
}
db.collection('Preco1200').get().then(snapshot => {
snapshot.docs.forEach(doc => {
console.log(doc.data())
renderPreco1200(doc);
});
});
1个回答
当 dateNow 未定义时,您可以通过将
textContent
设置为空字符串来解释
undefined
时间戳。
dat.textContent = dateNow === undefined ? "" : dateNow.toDate();
Hurried-Helpful
2020-03-02