Esta es mi primera publicación. saludos a los lectores.
Así que soy bastante nuevo en la codificación, y he implementado este código en mi interfaz, un escaneo exitoso envía una solicitud GET a mi API de python para obtener datos de la base de datos ... pero este script escanea el código qr varias veces por segundo (no solo eso sino también lo envía).
Entonces, mi pregunta es, ¿cómo podría reducir la velocidad un poco, digamos un tiempo de espera de 2 segundos después de un escaneo exitoso?
function onScanSuccess(decodedText, decodedResult) { // Handle on success condition with the decoded text or result. console.log(`Scan result: ${decodedText}`, decodedResult); $('#search').val(decodedText); $('#frm').submit(); } var html5QrcodeScanner = new Html5QrcodeScanner( "reader", { fps: 10, qrbox: 250 }); html5QrcodeScanner.render(onScanSuccess); });editar: no he dicho que no escribí esto y no tengo idea de cómo hacer tiempos de espera en Typescript o Javascript y ni siquiera dónde.
Te agradezco tu tiempo :)
Esto se toma directamente del ejemplo html5QrcodeScanner . En caso de éxito, actualizará el resultado, y si no hay un nuevo resultado escaneado, no actualizará el resultado.
var resultContainer = document.getElementById('qr-reader-results'); var lastResult, countResults = 0; function onScanSuccess(decodedText, decodedResult) { if (decodedText !== lastResult) { ++countResults; lastResult = decodedText; // Handle on success condition with the decoded message. console.log(`Scan result ${decodedText}`, decodedResult); } } var html5QrcodeScanner = new Html5QrcodeScanner( "qr-reader", { fps: 10, qrbox: 250 }); html5QrcodeScanner.render(onScanSuccess);pero esto no evitará que su dispositivo escanee, simplemente no actualizará el resultado ya que entiendo que su pregunta sería suficiente, pero si desea detener la cámara/proceso de escaneo por completo después de un escaneo exitoso, puede ingresar a un pequeña parte avanzada de la biblioteca
import {Html5Qrcode} from "html5-qrcode" const html5QrCode = new Html5Qrcode("reader"); html5QrCode.stop().then((ignore) => { // QR Code scanning is stopped. }).catch((err) => { // Stop failed, handle it. });al hacer esto también significa que necesita implementar todo el proceso desde el Modo Pro, puede consultar aquí para el modo profesional