dart Future型を戻り値とする関数(メソッド)
Futureを返すメソッドの理解があやしかったので実験してみた
バージョン : Dart 2.6.0 (build 2.6.0-dev.1.0 d6c6d12ebf)
Future<int>
Future<int> _future() {
// OK
// return Future.value(1);
// Warning : info: This function has a return type of 'Future<int>'
// 何も返さない
// NG : error: The return type 'int' isn't a 'Future<int>'
// return 1;
}
Future<int> async
Future<int> _future() async {
// OK
// return 1;
// return Future.value(1);
// Warning : info: This function has a return type of 'Future<int>'
// 何も返さない
}
Future<void>
Future<void> _future() {
// OK
// return Future.value(null);
// Warning : info: This function has a return type of 'Future<void>'
// 何も返さない
// NG : error: Missing return value after 'return'
// return;
}
Future<void> async
Future<void> _future() async {
// OK
// return;
// 何も返さない
// return Future.value(null);
}・結論
async つければ Futureかえしても値をそのまま返しても良いみたい。Futureつけるときはasyncつけて簡潔に書く。以上です