相关疑难解决方法(0)

如何等待 forEach 完成异步回调?

示例代码

Map<String,String> gg={'gg':'abc','kk':'kojk'};

Future<void> secondAsync() async {
  await Future.delayed(const Duration(seconds: 2));
  print("Second!");
  gg.forEach((key,value) async{await Future.delayed(const Duration(seconds: 5));
  print("Third!");
});
}

Future<void> thirdAsync() async {
  await Future<String>.delayed(const Duration(seconds: 2));
  print('third');
}

void main() async {
  secondAsync().then((_){thirdAsync();});
}
Run Code Online (Sandbox Code Playgroud)

输出

Second!
third
Third!
Third!
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我想用来等待地图的 foreach 循环完成然后我想打印third
预期的输出

Second!
Third!
Third!
third
Run Code Online (Sandbox Code Playgroud)

dart flutter

6
推荐指数
1
解决办法
3542
查看次数

标签 统计

dart ×1

flutter ×1