Capture en parallele du compte a rebours : photo prise pendant le 3 2 1
This commit is contained in:
@@ -114,38 +114,23 @@ async function lancerCapture() {
|
|||||||
compteurEl.textContent = `Photo ${i + 1} / ${nbPhotos}`;
|
compteurEl.textContent = `Photo ${i + 1} / ${nbPhotos}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Lancer la capture en parallele du compte a rebours
|
||||||
|
const promesseCapture = apiPost('/api/capturer').catch(() => null);
|
||||||
|
|
||||||
await compteARebours();
|
await compteARebours();
|
||||||
|
|
||||||
// Si la camera a signale une erreur pendant le compte a rebours, on arrete
|
|
||||||
const erreurVisible = !document.getElementById('preview-erreur-camera').classList.contains('cache');
|
|
||||||
if (erreurVisible) {
|
|
||||||
arreterPreview();
|
|
||||||
afficherErreurCapture('Appareil photo deconnecte', 'Reconnectez le DSLR et reessayez');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
arreterPreview();
|
arreterPreview();
|
||||||
await pause(300);
|
|
||||||
afficherFlash();
|
afficherFlash();
|
||||||
|
|
||||||
// Tenter la capture avec retry
|
// Attendre la capture (devrait deja etre terminee)
|
||||||
let resultat = null;
|
let resultat = await promesseCapture;
|
||||||
let erreurReseau = false;
|
let erreurReseau = false;
|
||||||
for (let r = 0; r < 3; r++) {
|
|
||||||
try {
|
if (!resultat) {
|
||||||
resultat = await apiPost('/api/capturer');
|
erreurReseau = true;
|
||||||
} catch (e) {
|
} else if (resultat.erreur === 'Limite de photos atteinte') {
|
||||||
erreurReseau = true;
|
afficherErreurCapture('Limite de photos atteinte', 'La session est terminee');
|
||||||
await pause(500);
|
return;
|
||||||
continue;
|
|
||||||
}
|
|
||||||
erreurReseau = false;
|
|
||||||
if (!resultat.erreur) break;
|
|
||||||
if (resultat.erreur === 'Limite de photos atteinte') {
|
|
||||||
afficherErreurCapture('Limite de photos atteinte', 'La session est terminee');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
await pause(500);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (erreurReseau) {
|
if (erreurReseau) {
|
||||||
|
|||||||
Reference in New Issue
Block a user