Android 如何回归未来<;对象>;把它分配给一个物体,颤振

Android 如何回归未来<;对象>;把它分配给一个物体,颤振,android,ios,flutter,asynchronous,dart,Android,Ios,Flutter,Asynchronous,Dart,我有一个从数据库获取数据的自定义类,它返回Future,它位于行列表中。dart文件: Future fetchingLinesData()异步{ 列表lineList=[]; var databasesPath=等待getDatabasesPath(); stringpath=join(databasesPath,'main.db'); 数据库=等待openDatabase(路径,版本:1); 事务((tnx)异步{ dbRef.child('line').once()。然后((DataSna

我有一个从数据库获取数据的自定义类,它返回
Future
,它位于
行列表中。dart
文件:

Future fetchingLinesData()异步{
列表lineList=[];
var databasesPath=等待getDatabasesPath();
stringpath=join(databasesPath,'main.db');
数据库=等待openDatabase(路径,版本:1);
事务((tnx)异步{
dbRef.child('line').once()。然后((DataSnapshot DataSnapshot)异步{
dataSnapshot.value.forEach((键,值)异步{
列表inLineStations=[];
对于(变量i=0;i<100;i++){
如果(值[“station_$i”]!=null){
List stations=wait tnx.rawQuery(“选择*自站”);
车站.每小时(s){
如果(s['stationName']==值[“station_$i”]){
Station Station Instance=车站(
key:s['key'],
城市名称:s['cityName'],
stationName:s['stationName'],
StationLongLevel:s['StationLongLevel'],
StationStatude:s['StationStatude']);
inLineStations.add(stationInstance);
}
});
}
}
lineInstance=Line(
startStation:值['start\U station'],
endStation:值['end_station'],
内联站:内联站,
注释:值['notes'],
价格:价值[‘价格’],
transportationType:值['transportation_type']);
lineList.add(lineInstance);
});
});
});
返回行列表;
}
}
然后在我的
main.dart
小部件中,我有以下内容:

列出所有行=[];
我想这样做:

allLines=LinesList().fetchingLinesData();
当然,当我试图将
未来
分配给
列表时,它给了我一个错误


怎么做?

你必须等待将来完成

allLines = await LinesList().fetchingLinesData();
allLines = await LinesList().fetchingLinesData();

你必须等待未来的完成

allLines = await LinesList().fetchingLinesData();
allLines = await LinesList().fetchingLinesData();

您只需将下面的代码放在一个异步函数中,使main异步,并使您的代码


您只需将下面的代码放在一个异步函数中,使main异步,并使您的代码