Closed RF-Tar-Railt closed 2 years ago
问题 AlconnaDispatcher内的beforeExecution函数会在调用DispatcherInterface.lookup_param("event", MessageEvent)时, 因为ContextDispatcher在当前dispatchers中的位置处于AlconnaDispatcher后面, 导致AlconnaDispatcher的catch方法被先调用, 并引发后续错误。
如何复现 在Ariadne 0.6.5版本运行 TEST
预期行为 将event = await interface.lookup_param(...)改为event = interface.event 或者使ContextDispatcher插入在AlconnaDispatcher前面
event = await interface.lookup_param(...)
event = interface.event
ContextDispatcher
AlconnaDispatcher
使用环境:
日志/截图
Fixed
问题 AlconnaDispatcher内的beforeExecution函数会在调用DispatcherInterface.lookup_param("event", MessageEvent)时, 因为ContextDispatcher在当前dispatchers中的位置处于AlconnaDispatcher后面, 导致AlconnaDispatcher的catch方法被先调用, 并引发后续错误。
如何复现 在Ariadne 0.6.5版本运行 TEST
预期行为 将
event = await interface.lookup_param(...)
改为event = interface.event
或者使ContextDispatcher
插入在AlconnaDispatcher
前面使用环境:
日志/截图