Firebase 错误:等待表达式只能在异步函数中使用。尝试使用';异步';或';异步*'; 类包装扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 最终用户=提供者(上下文); DocumentSnapshot snapShot=wait Firestore.instance.collection('members').document(user.uid.get();//re //定义用户id 列表hr=[ “4xldjjajkbopv0iozlaiekvndr1”,//shreya shreya。21810101@viit.ac.in “20D18eFrsnRNmbtVnnvq8U0ZW1s2”//pranav pranav。21810339@viit.ac.in ]; 列表文件=[ “3DoGWLpamEVwXyT57hCyybkGIkc2”,//harsha harsha。21810512@viit.ac.in “YBHsJC5W6IYa1qfdIaXAwbvKKOG2”,//saampatii saampatii。21810826@viit.ac.in ]; 列表gs=[ “5QCDzv1YjQhQdLORJ7CthfATeHt1”//digu digvijay。21810245@viit.ac.in ]; if(user==null){ 返回Authenticate(); }如果(snapShot==null | |!snapShot.exists){return MemberData();} 否则{ 如果(user.uid==hr[0]){return hr();} else if(user.uid==hr[1]){return hr();} 如果(user.uid==doc[0]){return doc();} 如果(user.uid==doc[1]){return doc();} else if(user.uid==gs[0]){return gs();} else{return Home();} } } }

Firebase 错误:等待表达式只能在异步函数中使用。尝试使用';异步';或';异步*'; 类包装扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 最终用户=提供者(上下文); DocumentSnapshot snapShot=wait Firestore.instance.collection('members').document(user.uid.get();//re //定义用户id 列表hr=[ “4xldjjajkbopv0iozlaiekvndr1”,//shreya shreya。21810101@viit.ac.in “20D18eFrsnRNmbtVnnvq8U0ZW1s2”//pranav pranav。21810339@viit.ac.in ]; 列表文件=[ “3DoGWLpamEVwXyT57hCyybkGIkc2”,//harsha harsha。21810512@viit.ac.in “YBHsJC5W6IYa1qfdIaXAwbvKKOG2”,//saampatii saampatii。21810826@viit.ac.in ]; 列表gs=[ “5QCDzv1YjQhQdLORJ7CthfATeHt1”//digu digvijay。21810245@viit.ac.in ]; if(user==null){ 返回Authenticate(); }如果(snapShot==null | |!snapShot.exists){return MemberData();} 否则{ 如果(user.uid==hr[0]){return hr();} else if(user.uid==hr[1]){return hr();} 如果(user.uid==doc[0]){return doc();} 如果(user.uid==doc[1]){return doc();} else if(user.uid==gs[0]){return gs();} else{return Home();} } } },firebase,flutter,google-cloud-firestore,async-await,future,Firebase,Flutter,Google Cloud Firestore,Async Await,Future,我可以做些什么来删除错误 在那里,我尝试检查带有该uid的文档是否存储在我的firestore中。有没有其他方法不出错?要使用wait,必须使函数异步: class Wrapper extends StatelessWidget { @override Widget build(BuildContext context) { final user = Provider.of<User>(context); DocumentSnapshot snapShot

我可以做些什么来删除错误


在那里,我尝试检查带有该uid的文档是否存储在我的firestore中。有没有其他方法不出错?

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

class Wrapper extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    final user = Provider.of<User>(context);
    DocumentSnapshot snapShot = await Firestore.instance.collection('members').document(user.uid).get(); //re

    //defining the user id
    List<String> hr = [
      "4xldjjaJKBOppV0ioZLaIekVNdr1",  //shreya shreya.21810101@viit.ac.in
      "20D18eFrsnRNmbtVnnvq8U0ZW1s2"   //pranav pranav.21810339@viit.ac.in
    ];
    List<String> doc = [
      "3DoGWLpamEVwXyT57hCyybkGIkc2",  //harsha harsha.21810512@viit.ac.in
      "YBHsJC5W6IYa1qfdIaXAwbvKKOG2",  //saampatii saampatii.21810826@viit.ac.in
    ];
    List<String> gs = [
      "5QCDzv1YjQhQdLORJ7CthfATeHt1"   //digu digvijay.21810245@viit.ac.in
    ];


    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();}
      else{return Home();}
    }
  }
}
Future getData(用户)异步{
DocumentSnapshot snapShot=等待Firestore.instance.collection('成员')
.document(user.uid).get();
//定义用户id
列表hr=[
“4xldjjajkbopv0iozlaiekvndr1”,//shreya shreya。21810101@viit.ac.in
“20D18eFrsnRNmbtVnnvq8U0ZW1s2”//pranav pranav。21810339@viit.ac.in
];
列表文件=[
“3dogWLPAMEVxyT57HCYYBKGIKC2”,//HarshaHarsha。21810512@viit.ac.in
“YBHsJC5W6IYa1qfdIaXAwbvKKOG2”,//saampatii saampatii。21810826@viit.ac.in
];
列表gs=[
“5QCDzv1YjQhQdLORJ7CthfATeHt1”//digu digvijay。21810245@viit.ac.in
];
if(user==null){
返回Authenticate();
}如果(snapShot==null | |!snapShot.exists){return MemberData();}
否则{
如果(user.uid==hr[0]){return hr();}
else if(user.uid==hr[1]){return hr();}
如果(user.uid==doc[0]){return doc();}
如果(user.uid==doc[1]){return doc();}
else if(user.uid==gs[0]){return gs();}
回家();
}
}

执行此操作时发生另一个错误:此函数的返回类型为“Widget”,但没有以return语句结束。尝试添加返回语句,或将返回类型更改为“void”。将
Future
更改为
Future
。那个该死的家伙。并返回该函数调用的输出。这不起作用,您可以建议其他解决方案吗。错误:此函数的返回类型为“Widget”,但不以return语句结束。尝试添加return语句,或将return类型更改为“void”。错误:未使用局部变量“user”的值。请尝试删除或使用该变量。错误:未引用声明“getData”。尝试删除“getData”的声明。将修改代码。。更改:-在代码的else部分删除else并返回。那该死的家伙修好了。
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 shreya.21810101@viit.ac.in
      "20D18eFrsnRNmbtVnnvq8U0ZW1s2"   //pranav pranav.21810339@viit.ac.in
    ];
    List<String> doc = [
      "3DoGWLpamEVwXyT57hCyybkGIkc2",  //harsha harsha.21810512@viit.ac.in
      "YBHsJC5W6IYa1qfdIaXAwbvKKOG2",  //saampatii saampatii.21810826@viit.ac.in
    ];
    List<String> gs = [
      "5QCDzv1YjQhQdLORJ7CthfATeHt1"   //digu digvijay.21810245@viit.ac.in
    ];


    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();
    }

}