Не срабатывает функция в функции

Столкнулся с тем, что не получается запустить функцию.

fun <T : Any, L : LiveData<Result<T>>> LifecycleOwner.onSuccess(liveData: L,
                                                            body: (T?) -> Unit,
                                                            loading: (String?) -> Unit,
                                                            error: (String) -> Unit) =
    liveData.observe(this, Observer {
        when (it.status) {
            Result.Status.LOADING -> {
                loading//Нужно что бы заработала функция, как ее запустить ?
            }
            Result.Status.SUCCESS -> {
                body//Нужно что бы заработала функция, как ее запустить ?
            }
            Result.Status.ERROR -> {
                error//Нужно что бы заработала функция, как ее запустить ?
            }
        }
    })

Вызываю так

 accountViewModel = viewModel {
        onSuccess(ads,::handleRegister,::handleLoading,::handleFailure)
    }

private fun handleRegister(ads: List<Ads>?) {
        showMessage("Пришло что то")
    }

    fun handleLoading(failure: String?) {
        showMessage("Загрузка")
    }

Я так понимаю что нужно вызывать. Но как ?

Вот так работает

liveData.observe(this, Observer(boby))

Ответы (0 шт):