Futureは、あとで完了する処理の結果を表す型です。
この記事の結論
API通信やファイル読み込みなど、すぐに終わらない処理はFutureで扱います。読みやすさを重視するならasync/awaitと一緒に学びます。
Futureを返す関数
Future<T>は将来T型の値が返ることを表します。
Future<String> fetchName() {
return Future.delayed(
const Duration(seconds: 1),
() => "Sato",
);
}
thenで受け取る
thenで完了後の値を受け取れます。
fetchName().then((name) {
print(name);
});
async/awaitで受け取る
実務ではasync/awaitの方が読みやすいことが多いです。
Future<void> main() async {
final name = await fetchName();
print(name);
}
実装後に確認すること
- 小さなコードで実行結果を確認したか
- 型を意識して書いているか
- Flutterで使う場面を説明できるか
- エラーやnullの可能性を無視していないか
よくあるつまずき
- JavaScriptと同じ感覚で型を曖昧にする
- サンプルを読んだだけで実行しない
- 1つの記事で周辺文法まで詰め込みすぎる
- Flutter Widget内に複雑な処理を書きすぎる
次に読む記事
- Dartのデータ型|int・double・String・bool・null安全を初心者向けに解説 — Dartの基本データ型を初心者向けに解説します。int、double、String、bool、List、Map、null安全、型推論の使い分けを確認します。
- Dartの文字列|Stringの作り方・埋め込み・改行・数値変換を解説 — DartのStringを初心者向けに解説します。文字列の作り方、変数埋め込み、複数行文字列、数値変換、FlutterのText表示で使う基本を整理します。
- Dart async awaitの使い方|Futureを順番に待つ基本を初心者向けに解説 — Dartのasync/awaitを初心者向けに解説します。Futureとthenの関係、awaitで待つ書き方、try-catch、Future.wait、Flutterでローディング表示につなげる考え方を整理します。
まとめ
Dart Future 使い方はFlutter開発前に押さえたいDart基礎です。最小コードで動きを確認し、次にFlutterの画面やAPI処理へつなげましょう。