如何在Flutter中的异步任务中启动异步任务?

时间:2019-08-13 16:18:31

标签: asynchronous flutter dart async-await

有时您有一个异步任务,该任务具有彼此异步的子任务,但是有多个同步子任务。

例如,今天是清洁日:

Future<bool> clean(String day) async {
  bool allIsClean = false;
  if (day == 'sunday') {
    bool floorIsClean = await;  // Pick up items, vacuum flor, mop floor (in that order);
    bool dishesAreClean = await; // collect dishes, start dishwasher, empty dishwasher (in that order);

    allIsClean = floorIsClean && dishesAreClean;
  }
  return allIsClean;
}

清洁地板和清洁碗碟可以异步完成。 洗碗机运行时,我们可以吸尘地板等。 但是,必须按正确的顺序(吸尘,吸尘,拖把)清洁地板,洗碗机也是如此。

如何在异步代码块内运行异步代码块,而不必为每个任务创建新的异步函数并从当前异步块内调用它们?

1 个答案:

答案 0 :(得分:1)

Future.wait([floorIsClean(), dishesAreClean()])

https://api.flutter.dev/flutter/dart-async/Future/wait.html