没登录点赞时,多次拉起QQ登录不登录,最后一次登录会出现多次请求
来源:7-8 帖子点赞和评论点赞能力实现
JefferyzZ
2024-11-30
commentBinding.commentLikeStatus.setOnClickListener {
lifecycleOwner.lifecycleScope.launch {
UserManager.loginIfNeed()
UserManager.getUser().collectLatest {
// TODO: 这个日志方便查看添加的
Log.i(TAG, "[${coroutineContext[Job].hashCode()}] bindTopComment: expiresTime=${it.expiresTime}")
val apiResult = ApiService.getService()
.toggleCommentLike(commentId, itemId, it.userId)
apiResult.body?.run {
val ugc = topComment.getUgcOrDefault()
ugc.hasLiked = this.getAsJsonPrimitive("hasLiked").asBoolean
ugc.likeCount = this.getAsJsonPrimitive("likeCount").asInt
notifyItemChanged(layoutPosition, topComment)
}
}
}
}
就拿神评的点赞做演示,我加了一个日志方便查看
FeedAdapter I [212085129] bindTopComment: expiresTime=0
FeedAdapter I [202305710] bindTopComment: expiresTime=0
FeedAdapter I [15732329] bindTopComment: expiresTime=0
FeedAdapter I [20979342] bindTopComment: expiresTime=0
FeedAdapter I [212085129] bindTopComment: expiresTime=1738127318817
FeedAdapter I [202305710] bindTopComment: expiresTime=1738127318817
FeedAdapter I [15732329] bindTopComment: expiresTime=1738127318817
FeedAdapter I [20979342] bindTopComment: expiresTime=1738127318817
如上最后一次登录成功,会发起多次请求,我初步看是每次点击都发起了一次lifecycleOwner.lifecycleScope.launch,请问老师有没很好的办法解决这个bug😥
写回答
1回答
-
LovelyChubby
2024-12-03
注册之前先解除注册obersever看看012024-12-04
相似问题