Scout Report Desk
Load several scout reports in parallel with Promise.all and async/await.
Capstone: start three delayed “scout file” loads together with
Promise.all, written with async /
await and try / catch /
finally. Toggle a bad file to see one rejection fail the group.
Still offline — no fetch yet.
delay helpers → Promise.all → async/await → UI
Idle
Summary appears here.
Important JavaScript
async function loadScoutPack(includeBad) {
setLoading(true);
try {
const jobs = [
loadReport("perimeter"),
loadReport("paint"),
includeBad ? loadReport("missing") : loadReport("transition")
];
const reports = await Promise.all(jobs);
showAll(reports);
} catch (error) {
showError(error.message);
} finally {
setLoading(false);
}
}