fix: 修复AsyncEventHooks可能导致异步操作不执行问题. (#240)

This commit is contained in:
老周
2023-09-14 03:43:26 -05:00
committed by GitHub
parent 3c494aa0ca
commit 51c42c687f

View File

@@ -26,12 +26,10 @@ public class AsyncEventHooks {
if (hooksList == null) {
return publisher;
}
if (hooksList.size() == 1) {
return hooksList.getFirst().hookFirst(event, publisher);
for (AsyncEventHook asyncEventHook : hooksList) {
publisher = asyncEventHook.hookFirst(event, publisher);
}
return Flux.fromIterable(hooksList)
.flatMap(hook -> hook.hookFirst(event, publisher))
.then();
return publisher;
}
static Mono<?> hookAsync(AsyncEvent event, Mono<?> publisher) {
@@ -39,12 +37,10 @@ public class AsyncEventHooks {
if (hooksList == null) {
return publisher;
}
if (hooksList.size() == 1) {
return hooksList.getFirst().hookAsync(event, publisher);
for (AsyncEventHook asyncEventHook : hooksList) {
publisher = asyncEventHook.hookAsync(event, publisher);
}
return Flux.fromIterable(hooksList)
.flatMap(hook -> hook.hookAsync(event, publisher))
.then();
return publisher;
}