我在我的应用中发布的大家好,每个帖子都可以包含评论和对这些评论的回复。
我正在显示帖子上写的最后一条评论(如果有的话),并显示对该评论写过的两份回复(有评论)。
问题是当我将它们存储在Room中时,我想将每个帖子,评论和答复存储在一个单独的表中,我在数据库模式中添加了外键,但是当我想使用它们来检索它们时就出现了问题RxJava我遇到了回调地狱,甚至无法正常工作。
dataManager.getPostsFromDatabase().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { it ->
Log.d("yyyyyyyy", "posts size ${it.size}")
it.forEach { postData ->
Log.d("yyyyyyyy", "post id ${postData.id}")
dataManager.getCommentFromDatabase(postData.id).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { comment ->
Log.d("yyyyyyyy", "post comment id ${comment.id}")
postData.last_comment = comment
dataManager.getRepliesFromDatabase(comment.id).observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe { replies ->
Log.d("yyyyyyyy", "replies count ${replies.size}")
postData.last_comment?.replies = replies
}
}
list.add(postData)
}
}
有什么想法吗?