【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part31 Dartの特徴

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part31 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part30 Dartの特徴

もう少しだけFutureの学習が残っています。

Dartの特徴

Future

本書に以下のような一文があります。

Futureクラスはネットワーク通信、データベースやファイルへのI/O処理など非同期の処理の場合にメソッドから戻ってきます。

???

これを以下のように解釈しました。

下記に列挙した処理(メソッド・関数)に関して、
戻り値がFutureクラスになっている。

  • ネットワーク通信処理は非同期
  • データベース処理は非同期
  • ファイルへのI/O処理は非同期
  • そのほかの非同期処理

これでいいですかね😅

自分でFutureクラスをインスタンスしたい場合もあります。

???

「使いたい場合」と記述しないで「インスタンスしたい場合」としたのは意図がありそうですね。
深読みしすぎでしょうか。

void main() {
  print(Future.value('Future成功'));
  print(Future.error('Futureエラー'));
  
  Future.value('Future成功').then((s) => print(s));
  Future.error('Futureエラー').catchError((s) => print(s));
  
  // DartPadでは「Uncaught Error: Futureエラー」となります。
  Future.delayed(Duration(seconds:3)).then((_) => '3秒待機しました。');
}

最後に

Futureについては複雑で説明が難しいのはわかりましたが最後の数行はもう少し説明が欲しかったですね。

こちらの記事が大変わかりやすかったです。

【Flutter/Dart】Futureの基本的な使い方|非同期処理 part1 (flutternyumon.com)

今日はここまで!