Я изучаю 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 также