处理 Web Serial 断开连接:实时捕获串口拔出和拔入热插拔事件

硬件调试中常有各种物理意外发生,最典型的便是:接线晃动、USB 线松脱、或单片机强制断电重启,导致虚拟 COM 端口瞬间从系统中剥离。如果串口调试软件在捕获到这一非正常断开时没有做好边界异常处理,非常容易陷入读取线程阻塞甚至页面卡顿假死崩溃。Web Serial API 提供了专门的全局事件监听信道来实现串口热插拔事件的感知:

```javascript navigator.serial.addEventListener('connect', (e) => { console.log('检测到物理串口插入:', e.target); }); navigator.serial.addEventListener('disconnect', (e) => { console.log('检测到物理串口已拔出:', e.target); }); ``` 当设备由于晃动或热拔插突然失联,底层的 ReadableStream 读取锁会立刻抛出一个含有 `ReadableStreamReader` 断开属性的异常错误,在 React 或 Vue 串口助手中,此时必须在 `try...catch` 捕捉块中立即调用 `.releaseLock()` 释放读写锁并妥善更新 UI 连接指示灯状态。