Dart には、非同期関数を作成、処理、および返す多くの方法があります。最も一般的な方法の 1 つは次のとおりです。
import 'dart:async';
var completer = new Completer();
// Previously this would have been new Timer(0, () => ....);
Timer.run(() => completer.complete(doSomethingHere()));
return completer.future;
ただし、dart は、次のような Future の直接のコンストラクターも提供します。
import 'dart:async';
return new Future.of(() => doSomethingHere());
Timer.run()
静的メソッドの戻り値を使用してバージョンがキャンセルされる可能性があることは承知しています。そして、new Future.of()
バージョンがわずかに少ないコードであること、new Future.of()
オーバーを使用することには特に利点がありますTimer.run()
か (またはその逆)。それとも、メリットは単に私が言及したものですか?