From c184d94dae8efb29dfe00bcff25053bd5d86005e Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 8 Jul 2021 11:59:35 +0800 Subject: [PATCH] core: bail: change to async --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/service/bus.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index f32615055..2304fe1c3 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.29.20", + "version": "2.29.21", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/service/bus.ts b/packages/hydrooj/src/service/bus.ts index e204f8d22..e113a9635 100644 --- a/packages/hydrooj/src/service/bus.ts +++ b/packages/hydrooj/src/service/bus.ts @@ -173,11 +173,12 @@ export async function serial(name: K, ...args: Paramet } } -export function bail(name: K, ...args: Parameters): ReturnType { +export async function bail(name: K, ...args: Parameters): ReturnType { if (argv.options.showBus && name !== 'message/log') logger.debug('bail: %s %o', name, args); const hooks = Array.from(_hooks[name] || []); for (const callback of hooks) { - const result = callback.apply(this, args); + let result = callback.apply(this, args); + if (result instanceof Promise) result = await result; if (isBailed(result)) return result; } return null;