check port.readable for errors

This commit is contained in:
Sergey Yarkov 2022-11-01 00:04:05 +03:00
parent d870a5cc03
commit 282daf7739
No known key found for this signature in database
GPG Key ID: E91CE1FABC619B6F

View File

@ -14,7 +14,10 @@ class Application {
this.serialPortHandler = new SerialPortHandler(
{ baudRate: 9600 },
() => console.log('Device connected.'),
() => console.log('Device disconnected.')
() => {
console.log('Device disconnected.');
this.#disconnectHandler();
}
);
/**
@ -134,9 +137,11 @@ class SerialPortHandler {
}
async read() {
while (this.port.readable) {
const reader = this.port.readable.getReader();
let chunks = '';
try {
while (true) {
const { value, done } = await reader.read();
const decoded = this.decoder.decode(value);
@ -149,8 +154,12 @@ class SerialPortHandler {
break;
}
}
return chunks;
} catch (error) {
console.error(error);
throw error;
}
}
}
#setupListeners() {