【发布时间】:2019-10-24 18:06:28
【问题描述】:
emit 接受 data 类,而 emitSource 接受 LiveData<T> ( T -> data )。考虑以下示例:- 我有两种类型的调用:-
suspend fun getData(): Data // returns directly data
还有另一个;
suspend fun getData(): LiveData<Data> // returns live data instead
对于第一种情况,我可以使用:-
liveData {
emit(LOADING)
emit(getData())
}
我的问题:使用上述方法可以解决我的问题,为什么我们还需要emitSource(liveData) 吗?
使用
emitSource方法的任何好的用例都会说明问题!
【问题讨论】:
-
很可能与您希望使用
Transformations.switchMap或 MediatorLiveData 的场景有关。
标签: android android-architecture-components android-livedata android-jetpack kotlin-coroutines