package cn.muchinfo.rma.netManage.base



/**
 *   @auther : lbl
 *   time   : 2021/1/02
 */
abstract class BaseModel {

    /**
     * @param remoto 网络数据
     * @param local 本地数据
     * @param save 当网络请求成功后，保存数据等操作
     * @param isUseCache 是否使用缓存
     */
    suspend fun <T> cacheNetCall(
        remoto: suspend () -> IBaseResponse<T>
    ): T {
        remoto().let { net ->
            if (net.isSuccess()) net.data()
            throw ResponseThrowable(net)
        }
    }

    fun onCleared() {
    }
}