いずれT型の値が返ってくる
// Future<String> = 「いずれStringが返ってくる」
Future<String> getName() {
return Future.delayed(
Duration(seconds: 2), // 2秒待つ
() => "田中太郎", // 2秒後にこの値を返す
);
}
async:この関数は非同期処理をするawait:この処理の完了を待つ// 非同期関数の定義
Future<String> getUserData() async {
// await = 「この処理の完了を待つ」
String name = await getName(); // 2秒待つ
String email = await getEmail(); // さらに1秒待つ
return "$name ($email)"; // 合計3秒後に返す
}
// 使用例
void main() async {
print("開始");
String result = await getUserData(); // 完了まで待つ
print(result); // "田中太郎 (tanaka@example.com)"
print("完了");
}