Flutterでのthenメソッドとは何か

Flutter

Flutterを使ったアプリケーション開発において、非同期処理は避けては通れないテーマです。非同期処理により、ネットワークリクエストの結果を待つなど、時間がかかる操作をバックグラウンドで行い、ユーザーインターフェースの応答性を保つことができます。Flutter(及びDart)における非同期処理の主要な要素の一つがFutureとそれに関連するthenメソッドです。本記事では、thenメソッドについて詳しく解説します。

thenメソッドとは何か

thenメソッドは、Futureクラスのインスタンスメソッドであり、非同期処理の完了を待つために使用します。Futureは、未来のある時点で利用可能になる値を表現します。このFutureの完了(成功または失敗)を待ち、その結果に基づいて何かを行うには、thenメソッドを使用します。

thenメソッドの使用例

thenメソッドは、非同期処理が成功したときに実行されるコールバック関数を引数として取ります。この関数は、非同期処理からの結果を受け取り、それに基づいて何かを行います。

以下に具体的な使用例を示します:

Future<int> fetchNumber() {
  return Future.delayed(Duration(seconds: 2), () => 42);
}

void main() {
  print('Fetching number...');
  fetchNumber().then((result) {
    print('The number is $result');
  });
  print('Fetch initiated.');
}

このコードでは、fetchNumber関数は2秒後に整数42を返すFutureを作成します。そして、thenメソッドを使ってその結果を待ち、結果が得られたらそれを出力します。

このコードを実行すると、まずFetching number...Fetch initiated.がすぐに出力され、その2秒後にThe number is 42が出力されます。これは、thenメソッドが非同期に動作し、コールバック関数をFutureの完了後に実行するからです。

以上、thenメソッドの概要と使用方法について解説しました。thenメソッドを使うことで、非同期処理の結果に基づく操作を簡単に記述することができます。

コメント

タイトルとURLをコピーしました