From cf4ef57f68ec58a06ce8261a0f0a7d68bbd93596 Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 21 Sep 2021 15:39:15 +0800 Subject: [PATCH] core: check value exists --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/model/task.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 07e933abf..d527f6fcb 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.37.1", + "version": "2.37.2", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/model/task.ts b/packages/hydrooj/src/model/task.ts index 60f0ae4da..737a416b0 100644 --- a/packages/hydrooj/src/model/task.ts +++ b/packages/hydrooj/src/model/task.ts @@ -160,11 +160,13 @@ bus.once('app/started', async () => { { ack: { $not: { $elemMatch: { $eq: id } } } }, { $push: { ack: id } }, ); - const payload = JSON.parse(res.value.payload); - if (process.send) process.send({ type: 'hydro:broadcast', data: { event: res.value.event, payload } }); - if (res.value) bus.parallel(res.value.event, ...payload); // eslint-disable-next-line no-await-in-loop - else await sleep(100); + if (!res.value) await sleep(100); + else { + const payload = JSON.parse(res.value.payload); + if (process.send) process.send({ type: 'hydro:broadcast', data: { event: res.value.event, payload } }); + if (res.value) bus.parallel(res.value.event, ...payload); + } } })(); });