错误:等待表达式只能在异步函数中使用尝试使用“异步”或“异步*”标记功能主体

问题描述

const rooms = new mongoose.Schema({
name:{},reserv:[{reservschema}]
})
[{id:..,reserv:[{reservschema}]},{id:..,]

该如何删除错误

我尝试检查具有该uid的文档是否存储在我的Firestore中。还有其他方法不会出错吗?

解决方法

要使用await,必须使函数异步:

Future<Widget> getData(user) async {
  DocumentSnapshot snapShot = await Firestore.instance.collection('members')
                                                      .document(user.uid).get();
  //defining the user id
    List<String> hr = [
      "4xldjjaJKBOppV0ioZLaIekVNdr1",//shreya [email protected]
      "20D18eFrsnRNmbtVnnvq8U0ZW1s2"   //pranav [email protected]
    ];
    List<String> doc = [
      "3DoGWLpamEVwXyT57hCyybkGIkc2",//harsha [email protected]
      "YBHsJC5W6IYa1qfdIaXAwbvKKOG2",//saampatii [email protected]
    ];
    List<String> gs = [
      "5QCDzv1YjQhQdLORJ7CthfATeHt1"   //digu [email protected]
    ];


    if(user == null){
      return Authenticate();
    }else if(snapShot == null || !snapShot.exists){return MemberData();}
    else{
      if(user.uid == hr[0]){return Hr();}
      else if(user.uid == hr[1]){return Hr();}
      else if(user.uid == doc[0]){return Doc();}
      else if(user.uid == doc[1]){return Doc();}
      else if(user.uid == gs[0]){return Gs();}
      return Home();
    }

}