我在数据库中存储特定的键值。但是,在获取键值时,会得到未定义的错误。
await DbHandler.fetch(codeStatus)
.then((result) => {
const codeEnabledObj = result[0];
console.log('codeEnabledObj', codeEnabledObj);
let codeEnabled = false;
if (codeEnabledObj && codeEnabledObj.length > 0) { // this code not executing at all.
codeEnabled = codeEnabledObj[0].isEnabled;
}
console.log('codeEnabled', codeEnabled); // getting false always
console.log('codeEnabledObj.length[0]', codeEnabledObj.length); // undefined
})
.catch((error) => {
});
问题是,如果条件发生并抛出未定义的错误,它就不会进入内部。
但是,如果我们从db fetch打印响应
'codeEnabledObj', { type: 'codeStatus', isEnabled: true } // This is my response
有什么建议么?
最佳答案
对象没有像数组一样的length属性。codeEnabledObj.length
是错误的
用这个,
Object.keys(codeEnabledObj).length
编辑:
codeEnabledObj[0].isEnabled
应该仅是codeEnabledObj.isEnabled