处理在RxDart
中触发转换的动作的最佳方法是什么?
场景:
在其他RxSwift
之类的Reactive实现中,您可以定义类型Observable<Void>
并侦听新事件以开始转换。
您可以在RxDart
中定义一个Observable,但是随后您不得不在主题中添加诸如subject.add('something')
或subject.add(0)
之类的令人困惑的内容。使用subject.add(void)
,subject.add()
或subject.add(())
会很酷,但这是不可能的。
我想到的第一个想法是创建一种新的类型,例如Empty
,或更具体地针对拟议的场景Action
。
然后我可以做这样的事情:
PublishSubject<Action> action = PublishSubject<Action>();
action.withLatestFrom(...)
.map(....) // Apply the desired transformations
....
....;
action.add(Action.create());
action.add(Action.create());
我是在重新发明轮子吗?
是否有一种更简单的方法来优雅地处理我在这里提出的建议?
答案 0 :(得分:0)
您是否尝试过类似subject.add(Object())
的事情?
我认为Object
实例是迄今为止找到的最好的解决方案,如果暂时没有更好的解决方案,我将继续使用它。
例如,要进行测试,您可以编写如下内容:
test('my subject test', () {
subject.listen((result) {
expect(result, isInstanceOf<Object>());
});
// myButtonMethodToTestSubject();
})
我正在构建此Github-flutter-notes-rxdart应用程序以继续在Flutter上学习RxDart,我选择Object
负责根据需要发送“无效”数据
告诉您是否找到适合自己的Action
类型的解决方案。