[英]How to fix ' type error cannot read property 0 of undefined '?
I can't get row[].column_name
in my .hbs file althougth when I console.log(row)
it shows the result. 当我在
console.log(row)
显示结果时,我无法在我的.hbs文件中获取row[].column_name
。column_name。
The error is the following: 错误如下:
TypeError: Cannot read property 0 of undefined
TypeError:无法读取undefined的属性0
router.get('/:id/baiviet', (req, res) => {
var id = req.params.id;
var p = baivietModel.allByCat(id);
var q = chuyenmuc.singel(id); // singel(id) return a promise
var row;
q.then(rows => {
row = rows;
});
p.then(rows => {
for (const cm of res.locals.lcChuyenmuc) {
if (cm.ID == +id) {
cm.isActive = true;
}
}
res.render('vwBaiviet/byCat', {
baiviet: rows,
CM: row[0]
});
}).catch(err => {
console.log(err);
});
});
My .hbs file: 我的.hbs文件:
{{this.CM.Name}}
TypeError: Cannot read property 0 of undefined
TypeError:无法读取undefined的属性0
var row;
Will initialize the row
value to be undefined
hence you're getting that error. 将初始化
row
值undefined
因此您将收到该错误。
If you use Promise.all
you can resolve two promises and send a value at once. 如果您使用
Promise.all
您可以解决两个承诺并立即发送一个值。
router.get('/:id/baiviet', (req, res) => {
var {id} = req.params;
Promise.all([
baivietModel.allByCat(id),
chuyenmuc.singel(id) // singel(id) return a promise
]).then(([prows, qrows]) => {
// ... your other code
res.render('vwBaiviet/byCat', {
baiviet: prows,
CM: qrows[0]
});
}).catch(err => {
console.log(err);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.