我想从数据库中获取所有的项,但是我不知道如何将Future的字符串列表转换为字符串的列表。
var x = DataBaseHelper.instance.queryAllRows();
Future<List<String>> queryAllRows() async {
Database db = await instance._initDatabase();
List<Map<String,dynamic>> s = await db.query(table ,columns: [columnname]);
List<String> list = new List();
for(var x in s){
x.forEach((k,v)=>list.add(v));
}
return list;
}我想获取数据库中的所有值,但不知道如何将这些值转换为列表
发布于 2019-07-11 03:12:41
因为db.querys是异步的,所以它们将返回一个Future<List<Map<String,dynamic>>。为了得到没有未来的结果,我们可以得到一个回调,它将返回一个List<Map<String,dynamic>>。
var x = DataBaseHelper.instance.queryAllRows();
Future<List<String>> queryAllRows() async {
Database db = await instance._initDatabase();
db.query(table ,columns: [columnname]).then((data){
List<Map<String,dynamic>> s = data;
List<String> list = new List();
for(var x in s){
x.forEach((k,v)=>list.add(v));
}
});
return list;
}https://stackoverflow.com/questions/56977045
复制相似问题