hegaojian / JetpackMvvm

:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
https://github.com/hegaojian/JetpackMvvm
Apache License 2.0
3.13k stars 610 forks source link

请问一下怎么处理嵌套请求呢? #56

Closed FrankyLee-dev closed 3 years ago

FrankyLee-dev commented 3 years ago

第二个请求需要第一个请求的结果 request({ api1 }, { // 请求成功 request({ api2(it) }, { // 请求成功

              }, {
                  // 请求失败

              })
    }, {
        // 请求失败

    })

不会是这样吧。

hegaojian commented 3 years ago

可以参考一下 demo中 HttpRequestManger 类中的 注册并登陆请求

 /**
     * 注册并登陆
     */
    suspend fun register(username: String, password: String): ApiResponse<UserInfo> {
        val registerData = apiService.register(username, password, password)
        //判断注册结果 注册成功,调用登录接口
        if (registerData.isSucces()) {
            return apiService.login(username, password)
        } else {
            //抛出错误异常
            throw AppException(registerData.errorCode, registerData.errorMsg)
        }
    }
FrankyLee-dev commented 3 years ago

好的,谢谢