有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java订阅doOnNext方法中的另一个可观察对象

我正在使用ReactiveX 1(无法迁移到版本2)

这只是问题的一个例子,但假设我想save一个使用反应repository的实体。它返回saveResult的一个可见值,由上面的层(例如控制器)订阅

但是如果save成功了,我需要发送一个event。发送事件也是被动的,并返回Observable。实际上,我并不关心它的结果(有一些日志,仅此而已)

我用下面的方法做了,但是看起来有点难看,因为一个Observableception有没有更干净的方法我会对一些Observable<T> peek(rx.functions.Func1<? super T, Observable<?> func)感到满意,但我找不到它

public Observable<Result<Entity>> save(Entity entity){
return entityRepository.saveEntity(entity) //Observable<Result<Entity>>
    .doOnNext(saveResult -> saveResult
        .ifSuccessful(entity -> sendEntityCreatedEvent(entity)) //Observable<Result<EntityCreatedEvent>>
            .subscribe()

}

谢谢——

蒂夫雷尔


共 (0) 个答案