Как сделать 2 серии запроса с использованием LiveData и ViewModel в Android? - PullRequest
0 голосов
/ 20 марта 2020

Я изучаю MVVM и Android компонент архитектуры.

Мне нужно сделать 2 запроса к серверу из моего фрагмента / действия, результат первого запроса будет использоваться в качестве входного параметра для второго запроса, после того, как эти запросы хороши, затем перейдите к следующему фрагменту / операции

по-старому, код в моем фрагменте / операции будет выглядеть следующим образом

class FragmentA : Fragment() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)   

       getUserData("example@email.com")


    }


    fun getUserData(email: String) {

        // making request using retrofit

        call.enqueue(object: Callback<RestaurantListBaseResponse> {

            override fun onFailure(call: Call<RestaurantListBaseResponse>, t: Throwable) {

            }

            override fun onResponse(call: Call<User>, response: Response<User>) {

                val user = response.body()!!.user

                if (user.isVerified) {
                    createPost(user.id)
                }


            }

        })

    }

    fun createPost(userID: String) {

        // making request using retrofit

        call.enqueue(object: Callback<RestaurantListBaseResponse> {

            override fun onFailure(call: Call<RestaurantListBaseResponse>, t: Throwable) {

            }

            override fun onResponse(call: Call<PostResponse>, response: Response<PostResponse>) {

               val isSuccessfull = response.body()!!.isSuccessfull

                if (isSuccessfull) {

                    // Navigate to next fragment or activity

                }


            }

        })

    }
}

, но теперь я запутался, как конвертировать это с помощью liveata и viewmodel. учебники, которые я смотрю, слишком просты, и я запутался, если мне нужно обработать 2 запроса в серии, например, с использованием liveata и viewmodel, я не знаю, как это обычно решать

, пожалуйста, не используйте kotlin сопрограмма, я новичок: (

Java или Kotlin все в порядке, я могу читать Java также

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...