Android RX需要同步执行两个不同的进程

时间:2016-09-09 11:27:41

标签: android rx-java reactive-programming

在我们的应用程序中,我们有两个异步方法来处理收到的消息和更新的消息。我们正确地从服务器接收它们:首先只是消息然后更新消息。它们的处理方式不同,但最后它们都会更新数据库中的消息。问题是有时更新的消息可以比消息更快地处理,因此数据将被错误地写入数据库。更新的消息将被旧消息覆盖。

如何同步处理不同的两个observable,按照从服务器接收的顺序控制数据库更新。

1 个答案:

答案 0 :(得分:1)

messageApi.getMessage()
    .flatMap(message -> {
        saveMessage(message);
        return messageApi.getUpdatedMessage();
     })
     .subscribe(message -> {
         saveMessage(message);
     });

适合您的情况吗?