beh*_*zbc 6 html javascript serial-port rxjs typescript
我想在我的网络应用程序中使用网络序列。我遇到的一个问题是,当用户更改或最小化浏览器时,发送和接收数据的计时器停止。我测试了 Web Worker 并得到了这个问题
,我该如何解决这个问题,我的代码是这样的并使用rxjs 计时器
//user give access to serial port
const port = await navigator.serial.requestPort();
await port.open({ baudRate: 9600 });
const textDecoder = new TextDecoderStream();
const readableStreamClosed = port.readable.pipeTo(textDecoder.writable);
const reader = textDecoder.readable.getReader();
const textEncoder = new TextEncoderStream();
const writableStreamClosed = textEncoder.readable.pipeTo(port.writable);
const writer = textEncoder.writable.getWriter();
timer(40, 100).subscribe(async (c) => {
await writer.write("{Config:1,0,0,0,0,0,0,0,0,0}");
console.log((await reader.read()).value);
});
Run Code Online (Sandbox Code Playgroud)
更新我使用setInterval但不起作用我的代码是这样的
const textDecoder = new TextDecoderStream();
const readableStreamClosed = this.port.readable.pipeTo(textDecoder.writable);
this.reader = textDecoder.readable.getReader();
const textEncoder = new TextEncoderStream();
const writableStreamClosed = textEncoder.readable.pipeTo(this.port.writable);
this.writer = textEncoder.writable.getWriter();
setInterval( async () => {
await this.writer.write("{Config:1,0,0,0,0,0,0,0,0,0}");
console.log((await this.reader.read().value);
},100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |