# 监听响应
>[info] 每一个监听函数都存在返回值(或者`void`),而框架则赋予了返回值一种特殊的含义。
>[success] **1.** 当函数存在返回值,且返回值类型为`com.forte.qqrobot.listener.result.ListenResult` 的时候,对于异常的抛出、函数的成功判定、HTTP响应值均会以此返回值为主。
> (标注了`@ListenBody`注解的情况下除外。)
`ListenResult`是一个接口类型,其定义如下:
```java
/**
*
* 此接口定义一个监听函数执行完成后的结果报告
*
* 存在一个固定类型的返回值,此返回值应当由组件进行控制
* 且返回值应当允许被排序
*
* @author ForteScarlet <[email]ForteScarlet@163.com>
* @since JDK1.8
**/
public interface ListenResult<T> extends Comparable<ListenResult> {
/**
* 函数是否执行成功
* @return 是否成功
*/
Boolean isSuccess();
/**
* 是否阻断接下来的监听函数
* @return 是否阻断
*/
Boolean isToBreak();
/**
* 是否截断酷Q中低优先级的其他插件。
* 此返回值需要插件功能性的支持,否则将无效。
*/
Boolean isToBreakPlugin();
/**
* 获取执行结果响应
* @return 获取执行结果
*/
T result();
/**
* 获取返回值的排序值
* @return 排序值
*/
int sortValue();
/**
* 如果出现了异常,则此为异常
* @return 出现的异常(如果有的话
*/
Throwable getError();
/**
* 默认的排序方式为根据sortValue值进行排序
* @param o 对比对象
* @return 排序结果
*/
@Override
default int compareTo(ListenResult o) {
return Integer.compare(sortValue(), o.sortValue());
}
```
框架内部提供了一个简单的接口实现类:`com.forte.qqrobot.listener.result.ListenResultImpl`
此实现类存在一个无参构造与一个全参构造。
当然,你也可以自己去实现一个实现类来满足更加复杂的需求与判断。
>[success] **2.** 当监听函数的返回值不是此接口类型的时候,对于监听函数的执行结果判定请查看`成功判定与返回值`章节。
- 前言
- 简单介绍
- 我该如何阅读文档
- 视频教程
- 安装与使用
- 开源协议
- 免责&捐助
- 注意事项
- 版本命名规则简介
- 主要功能版本历史
- 功能指引
- 通用API与功能
- 国际化语言
- 异常
- 消息监听
- @Listen
- @OnListen模板
- @Filter
- 消息参数截取
- @Spare
- @Constr
- @Ignore
- @ListenBreak
- @ListenBreakPlugin
- @ListenBody
- 监听响应
- 成功判定与返回值
- 监听上下文
- 动态参数
- 监听消息API
- 异步监听 @Async
- 限流监听 @Limit
- 自定义Http送信器
- 枚举与类型
- 送信器
- SENDER
- SETTER
- GETTER
- 返回值
- 其他位置
- 日志与日志拦截
- 异常处理
- 依赖注入
- 自定义依赖获取
- 批量依赖载入
- 注意事项
- 常量
- 定时任务
- 自定义过滤
- 拦截器
- 拦截器总定义
- 上下文对象总定义
- 监听消息拦截
- 送信器拦截
- 监听函数拦截
- CAT码
- CQ码
- CQCode
- CQ码工具类
- CQ扩展工具类
- AppendList拼接链
- 高级内容
- 阻断机制
- 截断机制
- 自定义枚举类型
- 枚举工厂
- byName注解
- 自定义注解
- 配置
- 文件配置
- 注解配置
- 参数配置
- 多配置
- 多账号
- 自定义账号管理器
- 小心!
- 核心版本与组件如何升级核心
- 核心版本迭代指南
- 核心
- 更新日志
- jar包与依赖
- 监听消息类结构图
- 快速启动
- 模组与扩展
- 模组开发
- 现有模组
- 通用模组-延时任务
- 通用模组-CQ码工具
- 转义器
- CQ码操作工具类
- CQ码模板-CodeTemplate
- CQ码载体-KQCode
- CQ码构建器
- MQ码工具类
- 通用模组-redis-bot管理器
- 通用模组-Debugger
- Debugger-common模块
- Debugger-server模块
- Debugger-client模块
- 通用模组-钉钉机器人
- 组件-Mirai(JVM)
- 快速开始(1.13+)
- springboot-starter
- 注意事项
- 配置
- 额外的内容
- 快速回复
- 额外监听
- CQ码解析
- 组件-酷Q(QQ)-CQ HTTP API(基本失效)
- 快速开始(推荐)
- 快速开始(1.7.x以下,不推荐)
- 快速开始(Springboot启动器)
- 启动器、启动接口与配置类
- 配置
- 文件配置
- 注意事项
- 更新日志
- 额外的内容
- 自定义额外监听
- CQ送信器
- 元事件
- 监听消息类结构图
- 组件-酷Q(QQ)-JCQ(失效)
- 快速开始
- 更新日志
- 额外的内容
- JCQ日志
- 配置
- 注意事项
- 监听消息类结构图
- 组件-酷Q(QQ)-HTTP TO CQ(失效)
- 快速开始(核心1.7.x及以下)
- 启动器、启动接口与配置类
- 配置
- 文件配置
- 注意事项
- 更新日志
- 监听消息类结构图
- 组件-酷Q(QQ)-LEMOC (失效)
- 快速开始(核心1.7.x及以下)
- 配置
- 注意事项
- 更新日志
- 监听消息类结构图
- Springboot快速启动器
- 常见问题汇总
- BUG反馈
- 更新计划总览