Introduce delay before displaying QR code...

This commit is contained in:
Joe Tretter
2022-09-05 10:53:10 -05:00
parent a4ec1720f0
commit 4b4c3fcbd5

View File

@@ -7,6 +7,7 @@
let fileData, let fileData,
chunkSize, chunkSize,
segmentPosition, segmentPosition,
timoutHandle,
activeCanvas = 0; // double buffering. activeCanvas = 0; // double buffering.
const $ = (ele) => document.getElementById(ele); const $ = (ele) => document.getElementById(ele);
@@ -25,7 +26,7 @@
segmentPosition += chunkSize; segmentPosition += chunkSize;
if (segmentPosition < fileData.length) { if (segmentPosition < fileData.length) {
window.setTimeout(serveCodes, delay); timoutHandle = window.setTimeout(serveCodes, delay);
} }
}; };
const displayQR = (data, size, ecc) => { const displayQR = (data, size, ecc) => {
@@ -38,6 +39,8 @@
chunkSize = Number($("chunkSize").value); chunkSize = Number($("chunkSize").value);
segmentPosition = Number($("startChunk").value * chunkSize); segmentPosition = Number($("startChunk").value * chunkSize);
timoutHandle && window.clearTimeout(timoutHandle);
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.open("GET", fileName, true); xhr.open("GET", fileName, true);
xhr.responseType = "arraybuffer"; xhr.responseType = "arraybuffer";
@@ -50,7 +53,7 @@
// it seems that the qr library doesn't support binary data - converting to base64 // it seems that the qr library doesn't support binary data - converting to base64
fileData = window.btoa(binaryString.join("")); fileData = window.btoa(binaryString.join(""));
window.scrollTo(0, 0); window.scrollTo(0, 0);
serveCodes(); timoutHandle = window.setTimeout(serveCodes, 3000);
} }
}; };
xhr.send(); xhr.send();
@@ -65,7 +68,7 @@
<hr /> <hr />
Status:<span id="status">...</span> Status:<span id="status">...</span>
<hr /> <hr />
Filename:<input type="text" id="inputFileName" value="testInput/matchSeg.dat" /> Filename:<input type="text" id="inputFileName" value="testInput/5K.dat" />
<br /> <br />
ECC (1-4):<input type="number" value="4" id="ecc" /> ECC (1-4):<input type="number" value="4" id="ecc" />
<br /> <br />