首页 > 解决方案 > RxJava:一个副作用可以依赖于另一个副作用吗

问题描述

如果我有多个副作用(订阅),我怎样才能让一个在执行之前等待另一个完成?

举个例子:

SomeFile file;
SomeServer server;
Observable<String> incomingMessages;

incomingMessages.subscribe(file::append);
incomingMessages.subscribe(server::send);

有没有一种通用的方法可以防止在 file.append() 完成之前调用 server.send() ?我意识到一种简单的方法是:

incomingMessages.subscribe(message -> {
    file.append(message);
    server.send(message);
});

但我想知道是否有更通用/可组合的解决方案。

谢谢

标签: javarx-javareactivex

解决方案


推荐阅读