可能的未处理的承诺拒绝(id:3):TypeError:无法读取null的属性“草稿” TypeError:无法读取null的属性“草稿”

时间:2019-10-07 06:57:06

标签: javascript react-native

我从存储中检索数据时收到此错误。是什么原因? 可能的未处理的承诺拒绝(id: 3):

  

TypeError:无法读取null的属性“草稿”

 @action async masterProperty(obj) {
            let observations = await AsyncStorage.getItem(AuthStore.token); //active icon receiving keyed observations
            let objObservations = JSON.parse(observations); //json observations js translating to object
            let keyNames = Object.keys(obj);
            let inValid = false;
            for (let item of objObservations.drafts) {
              if (item.ui == this.getActiveUID) {
                inValid = true;
                break;
              }
            }
            if (inValid) {
              this.updateProp(obj);
            } else {
              this.newProperty(obj);
            }
          }

1 个答案:

答案 0 :(得分:0)

查看错误:Cannot read property "drafts" of null

您唯一使用something.drafts的地方是在for循环中:

for (let item of objObservations.drafts)

这意味着出于某种原因objObservations为null,并且可以通过解析从存储中获取的JSON来获取它。 现在,当Json.parse()返回null时-意味着它传递了“ null” JSON-意味着从存储中检索数据是错误的。

尝试检查以下内容:

  1. 检查存储是否返回了正确的JSON对象。

  2. 请检查您是否确实在存储中存储了信息-因为返回null可能表明您没有该信息。

  3. 检查AsyncStorage实际上使用了Promise,而不是使用用于异步的回调方法-也许“ await”失败,因为它不使用Promise,并且没有返回值,并且observations保持为空。 p>