From 99391171217e201f1d5c54891ee3571ca4d76e0f Mon Sep 17 00:00:00 2001 From: Xc Date: Thu, 16 May 2024 20:46:01 +0800 Subject: [PATCH] =?UTF-8?q?pipeline=E5=88=A4=E6=96=AD=E7=BB=88=E6=AD=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/utils/executor.js | 3 +++ src/utils/executor.ts | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/utils/executor.js b/lib/utils/executor.js index a2f1eb3..a080147 100644 --- a/lib/utils/executor.js +++ b/lib/utils/executor.js @@ -8,6 +8,9 @@ exports.pipeline = void 0; function pipeline(...units) { const exec = (idx, resultPrev) => { const unit = units[idx]; + if (!unit) { + return resultPrev; + } const result = unit(resultPrev); if (result instanceof Promise) { return result.then((resultSync) => exec(idx + 1, resultSync)); diff --git a/src/utils/executor.ts b/src/utils/executor.ts index a3ed54b..12b90d4 100644 --- a/src/utils/executor.ts +++ b/src/utils/executor.ts @@ -3,8 +3,11 @@ * @param units 各个执行单元,需要流水线执行,可能是同步也可能是异步 */ export function pipeline(...units: Array<(result?: any) => any>) { - const exec = (idx: number, resultPrev?: any):any => { + const exec = (idx: number, resultPrev?: any):any => { const unit = units[idx]; + if (!unit) { + return resultPrev; + } const result = unit(resultPrev); if (result instanceof Promise) { return result.then(