【发布时间】:2021-12-08 19:42:47
【问题描述】:
例如:
void main() {
List<String> list = ['1', '2', '3', '4'];
gogo(list);
print('main end');
}
void gogo(List list) async {
list.forEach((element) async {
await pS(element);
});
print('gogo end');
}
Future pS(String s) async {
Future.delayed(Duration(seconds: 1), () {
print(s);
});
}
将输出:
gogo 结束 主端 1 2 3 4
我期待的结果:
1 2 3 4 gogo结束 主端
【问题讨论】:
-
使用
for (var element in list) {...,而不是list.forEach((element) ... -
我改成
void gogo(List list) async { // list.forEach((element) async { // await pS(element); // }); for(String element in list){ await pS(element); } print('gogo end'); }但是不行 -
你也需要
await gogo(list);和await Future.delayed -
知道了,谢谢!
标签: flutter