From 07f58c023f8f35c4894b84d69de228b4c20d9125 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 31 May 2024 10:36:49 +0200 Subject: [PATCH] bring back promise cache just in case loadWorklets is called more than once --- packages/superdough/superdough.mjs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/superdough/superdough.mjs b/packages/superdough/superdough.mjs index 6756bd3d..72001150 100644 --- a/packages/superdough/superdough.mjs +++ b/packages/superdough/superdough.mjs @@ -41,8 +41,12 @@ export const getAudioContext = () => { return audioContext; }; -async function loadWorklets() { - return await getAudioContext().audioWorklet.addModule(workletsUrl); +let workletsLoading; +function loadWorklets() { + if (!workletsLoading) { + workletsLoading = getAudioContext().audioWorklet.addModule(workletsUrl); + } + return workletsLoading; } // this function should be called on first user interaction (to avoid console warning)