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

时间:2019-04-17 10:09:06

标签: javascript react-native undefined

我正在数据库中存储特定的键值。但是,在获取键值时,会出现 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) => {

  });

问题是,如果条件和抛出未定义之类的错误,它就不会进入内部。

但是,如果我们从db fetch打印响应

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

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

对象没有像数组一样的length属性。

codeEnabledObj.length是错误的

使用此

 Object.keys(codeEnabledObj).length 

编辑

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

答案 1 :(得分:0)

FindAndModify中没有属性长度,而且它不是数组。所以修改条件是可行的,其中isEmpty可以用作 节点软件包为MongoSession, err := mongo.NewClient(options.Client().ApplyURI("mongodb://localhost:27017")) if err != nil { panic(err) } ctx, _ := context.WithTimeout(context.Background(), 10*time.Second) err = MongoSession.Connect(ctx) collection := MongoSession.Database("test").Collection("people") a, err := primitive.ObjectIDFromHex("XXXXXXXXXX") //hiding hex value b := collection.FindOneAndUpdate(ctx, bson.M{"_id": a}, bson.M{"$set": bson.M{"phone": "Replacing using the query"}})

codeEnabledObj

underscore

谢谢。