Future<int> countActivePlayers(String teamName) async {
try {
var team = await downloadTeam(teamName);
if (team == null) return 0;
var players = await team.roster;
return players.where((player) => player.isActive).length;
} catch (e) {
log.error(e);
return 0;
}
}
Future<int> fastestBranch(Future<int> left, Future<int> right) {
return Future.any([left, right]);
}
async가 유용한 경우
- await를 사용할 때
- 에러를 비동기적으로 반환할 때, async와 throw를 함께 사용하는 것이 return Future.error(...)보다 간결함
- 값을 반환하고 있지만 명시적으로 Future 사용을 원할 때, async는 Future.value(...) 보다 간결함