我需要从挂起函数的返回值中获取 liveData。为了这 -
- 我可以启动一个协程(例如使用 viewmodelScope)并使用 postValue 来更新一个 MutableLiveData 实例。
val apiLiveData = MutableLiveData<MenuItem?>()
fun getLiveData(): LiveData<MenuItem?> {
viewModelScope.launch {
apiLiveData.postValue(Repository.getMenuItem())
}
return apiLiveData
}
- 我可以使用 livedata {} 并发出挂起函数的返回值。
val apiLiveData: LiveData<MenuItem?> = liveData {
emit(Repository.getMenuItem())
}
我应该使用上述哪种方法?