В следующем коде вызывается только functionC. Метод getValues вызывается из основного потока фрагмента, но функции A и FunctionB пропускаются
Код: Выделить всё
class MyViewModel() {
fun getValues(){
_livedata.value = SomeFuctionA()
_livedata.value = SomeFuctionB()
_livedata.value = SomeFuctionC()
}
}
Однако, если я изменю метод для явного запуска из основного потока, будут вызываться все функции
Код: Выделить всё
class MyViewModel() {
fun getValues(){
viewmodelScope.launch(Dispathers.Main){
_livedata.value = SomeFuctionA()
_livedata.value = SomeFuctionB()
_livedata.value = SomeFuctionC()
}
}
}
Это не имеет смысла, поскольку getValues вызывается из MainThread в обоих случаях, однако все функции наблюдаются только во втором случае. Как в идеале убедиться, что живые данные наблюдаются для всех трех функций?
Подробнее здесь:
https://stackoverflow.com/questions/789 ... iple-times