From 644c57825275df0669c1d3db553f5f9b12e12933 Mon Sep 17 00:00:00 2001 From: niuiic Date: Tue, 9 Apr 2024 14:12:36 +0800 Subject: [PATCH] refactor: flow --- packages/core/src/flow/flow.ts | 55 +++++++++++++++++----------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/packages/core/src/flow/flow.ts b/packages/core/src/flow/flow.ts index 704e3a40a..99d51cede 100644 --- a/packages/core/src/flow/flow.ts +++ b/packages/core/src/flow/flow.ts @@ -606,37 +606,38 @@ function flow(...args: any[]) { if (isPromise(result)) { return result - .then((_result) => { - log(_result, step, flowState.log) - result = fn(_result, modifier) + .then((res) => { + log(res, step, flowState.log) + result = fn(res, modifier) return call(fns.slice(1)) }) .catch((e) => { result = err(toStr(e)) return call(fns.slice(1)) }) - } else { - log(result, step, flowState.log) - try { - const res = fn(result, modifier) - if (isPromise(res)) { - return res - .then((res) => { - result = res as any - return call(fns.slice(1)) - }) - .catch((e) => { - result = err(toStr(e)) - return call(fns.slice(1)) - }) - } else { - result = res - return call(fns.slice(1)) - } - } catch (e) { - result = err(toStr(e)) - return call(fns.slice(1)) + } + + log(result, step, flowState.log) + try { + const res = fn(result, modifier) + + if (isPromise(res)) { + return res + .then((res) => { + result = res as any + return call(fns.slice(1)) + }) + .catch((e) => { + result = err(toStr(e)) + return call(fns.slice(1)) + }) } + + result = res + return call(fns.slice(1)) + } catch (e) { + result = err(toStr(e)) + return call(fns.slice(1)) } } @@ -648,14 +649,14 @@ function log(result: Result, step: number, method: FlowState['log']) { return } if (method === 'ERROR' && result.isErr()) { - console.error(`Step ${step} failed, the error is ${result.error()!}`) + console.error(`Step${step} has failed, the error is`, result.error()) return } if (method === 'INFO') { if (result.isOk()) { - console.info(`Step ${step} success, the result is`, result.unwrap()) + console.info(`Step${step} was successful, the result is`, result.unwrap()) } else { - console.error(`Step ${step} failed, the error is`, result.error()) + console.error(`Step${step} has failed, the error is`, result.error()) } return }