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