while (true) { let { value, done } = await reader.read(); if (done) { // |reader| has been canceled. console.log("brack"); break; } console.log(value); console.log() } } catch (error) { // Handle |error|... } finally { reader.releaseLock(); console.log("f1"); }}
cuando leo datos del puerto serie, todos mis datos se reciben perfectamente, pero el valor de la variable "hecho" nunca cambia, permanece falso y el código se detiene en esta etapa "let { value, done } = espera al lector. leer();".
A menos que el puerto serie encuentre un error, siempre podrá leer más datos, por done que nunca se establece en true . Si su programa ha leído todos los datos que pretende, entonces debería dejar de llamar a read() hasta que quiera recibir más datos. Tenga en cuenta que si el dispositivo envía más datos que el tamaño del búfer especificado al abrir el puerto, estos datos pueden perderse si su aplicación no está llamando a read() para sacarlos del búfer.