如何解决Dart流运算符等效于RxJS Tap
我正在用dart进行第一个数据流,我希望在将其观察到operators
之后将其输出到listen
之前打印一些值,就像在RxJS中使用tap
。这可能吗?我也无法在RxDart中找到它。
例如:
final pulseStream = field.control.valueChanges
.where((dynamic val) => (val as String).length < 20)
.tap(print)
.where((dynamic val) => (val as String).isNotEmpty)
.tap(print)
.where((dynamic val) => pulseController != null)
.tap(print)
.where((dynamic val) => !pulseController.isAnimating);
解决方法
即doX
运算符:
RxDart | RxJS
------------------------
doOnData(print) | tap(console.log) or tap({ next: console.log })
doOnError((e,s) => print(e)) | tap({ error: console.log })
doOnDone(() => print('done')) | tap({ complete: () => console.log('complete') })
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。