[英]Error on second level object for nodejs response
我有这种情况..,我正在做这样的事情:
app.post('someUrl', function (req, res) {
var r = res.data;
var a = {};
a.name = r.name || "",
a.someotherKey : {
id: r.otherKey.id || ""
}
});
事实是,当res.data ==“”时,我可以分配a.name的值,因为r.name是“ undefined”,但是我对于r.otherKey.id却感到恐惧。
"TypeError: Cannot read property 'id' of undefined"
任何解决问题的想法???
您可以利用&&
运算符执行以下操作:
a.someotherKey = {
id: r.otherKey && r.otherKey.id || ""
}
&&
将返回第二值,如果两者均为真,和false
如果一个(或两个)为假。
如果您有一个深对象,例如r.otherKey.prop.furtherDown.id
,此答案特别有用。
您可以使用try {} catch {}
块来做到这一点,并在未定义的情况下处理错误:
try {
a.someOtherKey.prop.furtherDown = {
id: r.otherKey.prop.furtherDown.id || ""
};
} catch (e) {
a.someOtherKey.prop.furtherDown = {
id: ""
};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.