Flutter

Dart Futureの使い方|非同期処理の結果を受け取る基本

DartのFutureを初心者向けに解説します。Futureの意味、then、async/await、エラー処理、FlutterのAPI取得へつなげる基本を整理します。

この記事の目次
  1. この記事の結論
  2. Futureを返す関数
  3. thenで受け取る
  4. async/awaitで受け取る
  5. 実装後に確認すること
  6. よくあるつまずき
  7. 次に読む記事
  8. まとめ

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 Future 使い方はFlutter開発前に押さえたいDart基礎です。最小コードで動きを確認し、次にFlutterの画面やAPI処理へつなげましょう。