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
相关推荐
空中湖19 分钟前
Spring AI RAG 完整实战:从零搭建企业知识库问答系统
java·人工智能·spring
Ai拆代码的曹操31 分钟前
K8s Pod Pending 逐层排查:从 FailedScheduling 到 PVC StorageClass 不存在的实战记录
java·linux·kubernetes
什巳1 小时前
JAVA练习306- 翻转二叉树
java·数据结构·算法·leetcode
wangbing11251 小时前
JPA下自定义主键
java·linux·服务器
plainGeekDev2 小时前
NullPointerException → Kotlin 空安全
android·java·kotlin
想做小南娘,发现自己是女生喵3 小时前
第 2 章 顺序表和 vector
java·数据结构·算法
CHANG_THE_WORLD4 小时前
6.多线程的TCP通信
java·网络·tcp/ip
sun03225 小时前
【笔记】Spring MVC 相关介绍
java·spring·mvc
兰令水5 小时前
hot100【acm版】【2026.7.18打卡-java版本】
java·开发语言·算法
CoderYanger6 小时前
A.每日一题:3020. 子集中元素的最大数量
java·程序人生·算法·leetcode·面试·职场和发展·学习方法