viewModelScope.launch {
Log.d(TAG, "getHomeArticles: ")
val homeArticleData: HomeArticleBean = myRepository.getHomeArticles(page).data
Log.d(TAG, "getHomeArticles: Before"+contentList.value)
contentList.value = homeArticleData
Log.d(TAG, "getHomeArticles: After"+contentList.value)
}
跟着学康师傅MVVM写的代码,发现这段代码在执行完
val homeArticleData: HomeArticleBean = myRepository.getHomeArticles(page).data
协程提前退出了,也就是说
Log.d(TAG, "getHomeArticles: Before"+contentList.value)
contentList.value = homeArticleData
Log.d(TAG, "getHomeArticles: After"+contentList.value)
没有执行
这是Repository中的相关代码
suspend fun getHomeArticles(page:String): ResultData<HomeArticleBean>{
val data = ServiceCreator.myService.getHomePages(page) //网络请求,耗时操作
Log.d(TAG, "data$data")
return data
}
这是getHomePages中的代码
interface ApiService {
@GET("article/list/{page}/json")
suspend fun getHomePages(@Query("query")page:String): ResultData<HomeArticleBean>
}
发现Repository中的log也没有输出
怀疑是因为网络请求耗时导致的bug
但不知道具体是因为什么原因?
希望大佬能为我解答下为什么会存在代码没有被执行到的情况?
getHomePages相关的代码也上一下吧。我感觉你写得怪怪的。page是String[捂脸]