繁体   English   中英

Flutter / Dart / FireStore查询错误:NoSuchMethod

[英]Flutter/Dart/FireStore Query Error: NoSuchMethod

我有一个查询Firestore并检索特定用户的函数,但我一直收到相同的错误。

我收到的错误如下:

I/flutter (29600): The following NoSuchMethodError was thrown building SellerInfo(dirty, state:
I/flutter (29600): _SellerInfoState#90e11):
I/flutter (29600): Class 'Future<User>' has no instance getter 'displayName'.
I/flutter (29600): Receiver: Instance of 'Future<User>'
I/flutter (29600): Tried calling: displayName
I/flutter (29600):

我首先尝试了这个:

Future<User> getUser(String displayName) async{
    await Firestore.instance.collection('users')
                           .where('displayName', isEqualTo: displayName)
                           .snapshots()
                           .listen( (QuerySnapshot onData) {
                             List<User> user = onData.documents.map(
                               (DocumentSnapshot doc) => _fromUserSnapShot(doc)
                             );
                             return user.first;
                           });
    return null;


  }

接着

Future<User> getUser(String displayName) async{
    return (await Firestore.instance.collection('users')
                           .where('displayName', isEqualTo: displayName)
                           .getDocuments())
                           .documents
                           .map((DocumentSnapshot doc) => _fromUserSnapShot(doc))
                           .first;
  }

这是用户类

class User {
    final String displayName;
    final String email;
    final String school;

    User({
      @required this.displayName,
      @required this.email,
      @required this.school,
    });
}

尝试直接获取该用户的文档: Firestore.instance.collection('users').document(displayName).get()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM