因此LiveData
有一个新的生成器函数,即:
val someLiveData = liveData {
// do something
}
谁能确切解释这个新的生成器函数可以解决什么?如何解决轮换问题?它与Web服务调用有何关系?
任何输入将不胜感激。提前致谢。
答案 0 :(得分:1)
谁能确切解释这个新的生成器函数可以解决什么?
liveData { }
上的当前documentation非常好,并给出了许多示例。您可以免费使用以下好处:
timeoutInMs
取消(默认为5秒)。init { }
块显式启动协程来初始化MutableLiveData<T>
(以下将这种假设的协程称为C
)。< / li>
C
C
,直到实际需要它为止(即LiveData
具有任何已注册并处于活动状态的观察者)。C
。它如何解决轮换问题?
LiveData
本身并不能解决保存状态的任何问题,例如屏幕旋转。这就是ViewModel
的目的。通常,您的LiveData
中有ViewModel
个属性。但是屏幕旋转问题和liveData { }
它与网络服务调用有何关系?
由于您传递给liveData { }
的代码块是一个暂停函数,因此您可以在Web服务中使用协程支持。例如, Retrofit 2.6.0 及更高版本在其HTTP请求函数定义中支持suspend
修饰符,这使得在liveData { }
代码块中使用非常方便。