summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/device/webusb_serial/website/serial.js34
1 files 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