我怎样才能减慢从 QR 扫描仪获得的读数?
How can I slow down readings I get from a QR Scanner?
这是我的第一个 post。
读者问候。
所以我对编码还很陌生,我已经在我的前端实现了这段代码,一次成功的扫描向我的 python API 发送了一个 GET 请求以从数据库中获取数据..但是这个脚本每秒扫描几次二维码(不仅如此,它也会提交)。
所以我的问题是我怎样才能减慢速度,比如说在成功扫描后超时 2 秒?
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);
});
编辑:我没说我没有写这个,我不知道如何在 Typescript 或 Javascript 中进行超时,甚至不知道在哪里。
感谢您抽出宝贵时间:)
这直接取自 html5QrcodeScanner 示例。成功后会更新结果,如果没有扫描到新结果,则不会更新结果
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);
但这不会阻止您的设备扫描,它只是不会更新结果,因为根据我对您问题的理解,这就足够了,但是如果您想在成功扫描后完全停止相机/扫描过程,你可以进入图书馆的一点高级部分
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.
});
这样做也意味着你需要从专业模式实现整个过程,你可以参考here专业模式
这是我的第一个 post。 读者问候。
所以我对编码还很陌生,我已经在我的前端实现了这段代码,一次成功的扫描向我的 python API 发送了一个 GET 请求以从数据库中获取数据..但是这个脚本每秒扫描几次二维码(不仅如此,它也会提交)。
所以我的问题是我怎样才能减慢速度,比如说在成功扫描后超时 2 秒?
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);
});
编辑:我没说我没有写这个,我不知道如何在 Typescript 或 Javascript 中进行超时,甚至不知道在哪里。
感谢您抽出宝贵时间:)
这直接取自 html5QrcodeScanner 示例。成功后会更新结果,如果没有扫描到新结果,则不会更新结果
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);
但这不会阻止您的设备扫描,它只是不会更新结果,因为根据我对您问题的理解,这就足够了,但是如果您想在成功扫描后完全停止相机/扫描过程,你可以进入图书馆的一点高级部分
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.
});
这样做也意味着你需要从专业模式实现整个过程,你可以参考here专业模式