From 5b5287d6f3f9c2aa996c166e26ae02b20a366a65 Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Mon, 11 Mar 2024 10:05:34 +0800 Subject: [PATCH] refactor pipeWriteRegardlessError - use error event to handle error --- packages/ui/src/main/flow/utils/pipe.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/ui/src/main/flow/utils/pipe.ts b/packages/ui/src/main/flow/utils/pipe.ts index 5dcadb0..6337a0a 100644 --- a/packages/ui/src/main/flow/utils/pipe.ts +++ b/packages/ui/src/main/flow/utils/pipe.ts @@ -1,17 +1,17 @@ import * as fs from 'fs' +import { type Stream } from 'stream' +const pipeSet = new WeakSet() export const pipeWriteRegardlessError = async ( pipe: fs.WriteStream | null, chunk: unknown, option? ) => { - return new Promise((resolve) => { - // debugger - pipe?.write(chunk, option, (error) => { - if (error) { - console.log('pipe.write Error', error) - } - resolve(undefined) + if (pipe && !pipeSet.has(pipe)) { + pipeSet.add(pipe) + pipe.on('error', (error) => { + console.log('pipe.write Error', error) }) - }) + } + return pipe?.write(chunk, option, () => {}) }