相当于RxJS tap的Dart流运算符



我正在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') })

最新更新