preProcessHandler: (AppException) -> Boolean用法:

一、使用:

1、调用出

第一种写法:

rust 复制代码
//预处理函数:
val preProcessHandler: (AppException)->Boolean = { e ->
         if (e.errCode == "1001"){
             //执行特殊操作逻辑
             true
         }else{
             false
         }
}
//获取首页列表
context?.let { mainViewModel.getHomeList(it,preProcessHandler) }

第二种写法:

javascript 复制代码
//获取首页列表
context?.let { mainViewModel.getHomeList(it){ e ->
    if (e.errCode == "1001"){
             //执行特殊操作逻辑
             true
         }else{
             false
         }
} }

2、执行处

kotlin 复制代码
fun getHomeList(mContext: Context, preProcessHandler: (AppException) -> Boolean) {
    val map = RequestParameterUtils.getMapData()
    map.put("appCode", "XXX")
    map.put("client","XXX")
    request({ apiService2.getHomeList(map) }, {
        homeData.value = it
        CommonPermissionUtils.setBasePermission(it)
    }, {
        //判断
        var b = preProcessHandler.invoke(it)
        if (!b){
            ToastUtils.showToast(mContext,it.errorMsg?:"")
        }
    }, true)
}

3、它对应 Java 里的哪个函数式接口?

一对一对应:

表格

Kotlin 函数类型 Java 函数式接口
() -> Unit Runnable / Consumer 无参无返
() -> T Supplier<T> 无参有返
(A) -> B Function<A,B> 一参一返
(AppException) -> Boolean Predicate<AppException>
(A) -> Unit Consumer<A>

4、终极总结(一句话)

(AppException) -> Boolean
= Kotlin 函数类型
= 接收一个异常,返回 Boolean
= 等价 Java 的 Predicate
相关推荐
小当家.10521 小时前
深入理解 ReAct Agent:从原理到 Java 实战
java·react.js·agent·react·架构设计·agent设计
geminigoth21 小时前
Spring AI Alibaba 入门开发一(备份)
java·人工智能·spring
Hammer_Hans21 小时前
DFT笔记98
java·开发语言·数据库
古法安卓1 天前
Android-DeviceStorageMonitorService 流程分析
java·面试·android studio
Java内核笔记1 天前
Spring Boot 4 拥抱 Jackson 3:包名迁移、配置改名与自动配置源码剖析
java·后端
程序员黑豆1 天前
什么是JDK以及JDK都由哪些部分组成呢
java·前端·ai编程
估值探索者1 天前
【Python实时盯盘与预警 #08】成交额突然放大2倍?Python窗口比较抓异动
java·开发语言·python
凤山老林1 天前
Spring Boot 定时任务进阶:动态 Cron 与集群防重实战
java·spring boot·后端·定时任务·集群定时任务
xbgRS1 天前
spring整合mybaits
java·spring·mybatis
Tim_101 天前
【C++】024、new[]与delete[]配对使用
java·开发语言