有时候你会有一个异步任务,其中包含的子任务彼此之间是异步的,但又存在一些同步的子任务。
例如,今天是打扫卫生的日子:
例如,今天是打扫卫生的日子:
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;
}
清洁地板和洗碗可以异步完成。 当洗碗机正在运行时,我们可以吸尘等任务。 但是清洁地板必须按照确切的顺序进行(捡起,吸尘,拖地),洗碗机也是如此。
如何在异步代码块内运行异步代码块,而不必为每个任务创建新的异步函数并从当前异步块中调用它们?