1

我在 dart 中做我的第一个流,我想在 observable 之后打印我的一些值,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);
4

1 回答 1

5

那是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') })
于 2020-11-06T15:38:12.483 回答