在我们的应用程序中,我们有两个异步方法来处理收到的消息和更新的消息。我们正确地从服务器接收它们:首先只是消息然后更新消息。它们的处理方式不同,但最后它们都会更新数据库中的消息。问题是有时更新的消息可以比消息更快地处理,因此数据将被错误地写入数据库。更新的消息将被旧消息覆盖。
如何同步处理不同的两个observable,按照从服务器接收的顺序控制数据库更新。
答案 0 :(得分:1)
messageApi.getMessage()
.flatMap(message -> {
saveMessage(message);
return messageApi.getUpdatedMessage();
})
.subscribe(message -> {
saveMessage(message);
});
适合您的情况吗?