zhamao-robot / zhamao-framework

协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
https://framework.zhamao.xin
Apache License 2.0
158 stars 26 forks source link

递归中间件(Ergodic)执行顺序错误 #365

Closed crazywhalecc closed 1 year ago

crazywhalecc commented 1 year ago

受影响版本

2.x 全版本,3.x 全版本

描述

如题。比如 class 有 A 注解、B 注解,方法 foo() 分别有 C、D 注解,理论上注解的执行顺序应该是 ABCD,但实际上是 CDAB。在 3.2.2 修复了一个倒序执行的问题,但是没有从根本上解决执行顺序的问题。(3.2.1 及以前的 3.x 版本执行顺序是 BACD,也是不对的)

复现步骤

如题。

解决方案

重写注解加载顺序部分的代码。

附加信息

No response