相当于 RxJS tap 的 Dart 流运算符
Dart stream operator equivalent of RxJS tap
我正在 dart 中做我的第一个流,我想在可观察 operators
之后打印我的一些值,然后再进入 listen
,就像 tap
在 RxJS 中。这可能吗?我在 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') })
我正在 dart 中做我的第一个流,我想在可观察 operators
之后打印我的一些值,然后再进入 listen
,就像 tap
在 RxJS 中。这可能吗?我在 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') })