1.9からasync/awaitが使えるのでシンプルに書けるようになった。素敵。
import "dart:async";
main async {
print("BEFORE SLEEP");
await new Future.delayed(new Duration(seconds: 3));
print("COMPLETE!");
}
これを実行すると(テキストじゃ伝わりにくいけど)
BEFORE SLEEP
...この状態で3秒まって...
COMPLETE!
みたいに書ける。素晴らしい。
-
dart:async
がimport
されてること - 実行箇所は
async
が宣言されてること -
new Future.delayed()
の前にawait
を書くこと
この3つを守れば大丈夫。素敵。
ちなみにこれまでの書き方だと
import "dart:async";
main {
print("BEFORE SLEEP");
new Future.delayed(new Duration(seconds: 3)).then((_)=> print("COMPLETE!"));
}
みたいにネストせざるをえないので、随分わかりやすく書けるようになったね。よかったね。