Firebase 除非我热刷新,否则数据流不会在iOS上显示

Firebase 除非我热刷新,否则数据流不会在iOS上显示,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我正在创建一个以firebase为后端的颤振应用程序。我有一个数据流,它从Firestore集合中提取数据,并在将其转换为列表后将其显示在Cupertino Picker中。问题是,当我启动应用程序并使用选择器导航到页面时,列表为空,除非我进行热刷新。当我弹出上下文并使用选择器在页面上着陆时,数据也会显示出来,否则它是空的 我的流是这样的: Stream<List<DataModel>> get myData { return myDataCollection

我正在创建一个以firebase为后端的颤振应用程序。我有一个数据流,它从Firestore集合中提取数据,并在将其转换为列表后将其显示在Cupertino Picker中。问题是,当我启动应用程序并使用选择器导航到页面时,列表为空,除非我进行热刷新。当我弹出上下文并使用选择器在页面上着陆时,数据也会显示出来,否则它是空的

我的流是这样的:

  Stream<List<DataModel>> get myData {
    return myDataCollection.snapshots().map(_myDataListFromSnapshot);
  }

有什么我做得不对的吗。如果能得到任何帮助,我将不胜感激。谢谢

您需要使用
异步
等待
。问题是。您的方法如下所示:

   Future<List<DataModel>> get myData async {
       return await myDataCollection.snapshots().map(_myDataListFromSnapshot);
       } 
Future get myData async{
return wait myDataCollection.snapshots().map(_myDataListFromSnapshot);
} 

您可以从中阅读更多信息。

您需要使用
async
wait
。问题是。您的方法如下所示:

   Future<List<DataModel>> get myData async {
       return await myDataCollection.snapshots().map(_myDataListFromSnapshot);
       } 
Future get myData async{
return wait myDataCollection.snapshots().map(_myDataListFromSnapshot);
} 

您可以从中阅读更多信息。

我尝试了此操作,得到错误:无法从函数“myData”返回“Stream”类型的值。我尝试了此操作,得到错误:无法从函数“myData”返回“Stream”类型的值
   Future<List<DataModel>> get myData async {
       return await myDataCollection.snapshots().map(_myDataListFromSnapshot);
       }