Dartで@Publishedを使いたいです
解決したいこと
Dart(Flutter)でアプリを作成しています。
Swiftの@Publishedのように、変数のような代入が可能でありながら、その値の変更をきっかけにイベントを起こせる(Swift/Combineのsinkを書ける)ようなものをDartで探しています。
RxDartのBehaviorSubjectを使ってみましたが、addメソッドでは非同期な挙動になってしまいます。
要約すると、変数のように値の保持/代入ができ、その値の変更を検知して同期的に処理を行うことができるものをDartで探しています。
発生している問題・エラー
とあるクラス.behaviorSubject.listen((event) {
print(event);
});
とあるクラス.behaviorSubject.add("a");
とあるクラス.behaviorSubject.add("b");
print("--------");
とあるクラス.behaviorSubject.add("a");
print("--------");
結果)
--------
--------
a
b
a
期待した結果)
a
b
--------
a
--------
このように順次で当たった処理が先に処理され、listen内のメソッドが非同期的に後回しになっていることがわかると思います。
自分で試したこと
https://pub.dev/packages/published というものを発見しましたが、あまり活発ではなく、問題なく使えるのかが疑問です。
0