From f36f97c45a58857ca3eb0a2f98f77f5931e72dae Mon Sep 17 00:00:00 2001 From: raldone01 Date: Sat, 26 Jul 2025 10:11:20 +0200 Subject: [PATCH] More catches. --- .../device/webusb_serial/website/serial.js | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/examples/device/webusb_serial/website/serial.js b/examples/device/webusb_serial/website/serial.js index b9c5c7827..55035c81f 100644 --- a/examples/device/webusb_serial/website/serial.js +++ b/examples/device/webusb_serial/website/serial.js @@ -21,7 +21,14 @@ class SerialPort { } catch (error) { console.error('Error disconnecting previous port:', error); } - await this._readLoopPromise; + + if (this._readLoopPromise) { + try { + await this._readLoopPromise; + } catch (error) { + console.error('Error in read loop:', error); + } + } this._readLoopPromise = null; } this._initialized = true; @@ -95,7 +102,13 @@ class SerialPort { console.error('Error closing port:', error); } - await this._readLoopPromise; + if (this._readLoopPromise) { + try { + await this._readLoopPromise; + } catch (error) { + console.error('Error in read loop:', error); + } + } } /// Send data to port @@ -138,7 +151,14 @@ class WebUsbSerialPort { } catch (error) { console.error('Error disconnecting previous device:', error); } - await this._readLoopPromise; + + if (this._readLoopPromise) { + try { + await this._readLoopPromise; + } catch (error) { + console.error('Error in read loop:', error); + } + } this._readLoopPromise = null; } this._initialized = true; @@ -228,7 +248,13 @@ class WebUsbSerialPort { await this._device.releaseInterface(this._interfaceNumber); - await this._readLoopPromise; + if (this._readLoopPromise) { + try { + await this._readLoopPromise; + } catch (error) { + console.error('Error in read loop:', error); + } + } } /// Send data to device