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