diff --git a/src/lib/components/Actions.svelte b/src/lib/components/Actions.svelte index ea98a74d..1304e06e 100644 --- a/src/lib/components/Actions.svelte +++ b/src/lib/components/Actions.svelte @@ -30,7 +30,14 @@ return toBase64(svgString); }; - const exportImage = (event: Event, exporter: Exporter) => { + const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + + const exportImage = async (event: Event, exporter: Exporter) => { + let tries = 50; + while (document.querySelector('.outOfSync') && tries > 0) { + await sleep(100); + tries--; + } if (document.querySelector('.outOfSync')) { throw new Error('Diagram is out of sync'); }