javascript 中出现未定义错误(React Native)

Undefined error getting in javascript (React Native)

我正在数据库中存储特定的键值。但是,在获取键值时,出现 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 条件并抛出类似 undefined 的错误。

但是,如果我们打印来自 db fetch 的响应

'codeEnabledObj', { type: 'codeStatus', isEnabled: true } // This is my response

有什么建议吗?

对象不像数组那样具有长度 属性。

codeEnabledObj.length错了

使用这个,

 Object.keys(codeEnabledObj).length 

编辑

codeEnabledObj[0].isEnabled 应该只是 codeEnabledObj.isEnabled

codeEnabledObj 中没有 属性 长度,而且它不是数组..所以修改条件会起作用,其中 isEmpty 可以是从中使用的函数 节点包为 underscore

if (isEmpty(codeEnabledObj)) { // ... } 

codeEnabledObj.isEnabled

谢谢。