我将特定键值存储在数据库中。但是,在获取键值时,出现undefined错误。
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) => {
});
问题是,它不会进入 if 条件并抛出未定义之类的错误。
但是,如果我们打印来自 db fetch 的响应
'codeEnabledObj', { type: 'codeStatus', isEnabled: true } // This is my response
有什么建议吗?
最佳答案
对象没有数组那样的长度属性。
codeEnabledObj.length
错误
使用这个,
Object.keys(codeEnabledObj).length
编辑:
codeEnabledObj[0].isEnabled
应该只是 codeEnabledObj.isEnabled
关于javascript - javascript(React Native)中出现未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55725108/