Flutter flatter future.then()返回空字符串
下面的代码打印正确的字符串Flutter flatter future.then()返回空字符串,flutter,dart,future,Flutter,Dart,Future,下面的代码打印正确的字符串 String genreString = ''; for (var genreID in list["genre_ids"]) { DBProvider.db.getGenreName(genreID).then((value) { genreString = genreString + value + ", "; print(genreString); }); }
String genreString = '';
for (var genreID in list["genre_ids"]) {
DBProvider.db.getGenreName(genreID).then((value) {
genreString = genreString + value + ", ";
print(genreString);
});
}
但我想在for循环之外访问“genreString”。当我想这样打印的时候
String genreString = '';
for (var genreID in list["genre_ids"]) {
DBProvider.db.getGenreName(genreID).then((value) {
genreString = genreString + value + ", ";
});
}
print(genreString);
这是行不通的。我也尝试“返回”,但它没有改变
可能有人有一个解决方案这应该行得通。请注意,包含此代码的函数必须是
async
String genreString = '';
for (var genreID in list["genre_ids"]) {
final value = await DBProvider.db.getGenreName(genreID);
genreString = genreString + value + ", ";
}
print(genreString);
这应该行得通。请注意,包含此代码的函数必须是
async
String genreString = '';
for (var genreID in list["genre_ids"]) {
final value = await DBProvider.db.getGenreName(genreID);
genreString = genreString + value + ", ";
}
print(genreString);
请阅读:
final genreNames=wait Future.wait(列表[“流派ID”].map(DBProvider.db.getGenreName))
请阅读:final genreNames=wait Future.wait(列表[“流派ID”].map(DBProvider.db.getGenreName))