非同期関数を同期関数にしたいです
解決したいこと
Flutterでアプリを作成しています。
その中でFuture<void>を戻り値とする関数を作成しましたが、awaitを付けずに使用する場面は想定されないため、awaitのつけ忘れを防ぐためにも、戻り値をvoidとして、非同期な処理が関数内で完結する同期的な関数にしたいです。
Swift Concurrencyの Taskのようなもので囲めば解決するかもしれませんが、Dartだとそれが何に当たるか分からず、発見できていないのが現状です。
戻り値が Future<void> の関数を voidの関数 にする方法があればご教授ください。
また不可能であればそのことを教えていただけると幸いです。
発生している問題
現状[Future<void>が戻り値]
この関数を呼び出す時にawaitを書く必要があります
Future<void> SyncAdd(T event) async {
add(event);
await 非同期な処理();
}
理想[voidが戻り値]
呼び出し時にawaitを書く必要をなくしたいです。
void SyncAdd(T event) {
// (どうにかして以下2行をasyncで囲みたい) {
add(event);
await 非同期な処理();
// }
}
自分で試したこと
awaitを使わずに
非同期な処理().then(exit);
で終了することを試しましたが、うまくいきませんでした。
また、Swift Concurrencyの Taskのようなものを探しましたが見つけることはできませんでした。
0