Quello che deve interessarti è ricevere i valori delle variabili, non necessariamente le variabili in quanto tale.
Anche se dichiari le variabili come globali, non otterrai l'effetto voluto se vai a leggerne il valore all'esterno della funzioni che chiami e che va ad assegnare loro il valore che ti interessa solo nel callback, ovvero quando l'azione è stata eseguita.
In pratica, la chiamata della funzione va ad avviare un processo che solo in un secondo momento restituirà controllo al tuo codice richiamando il callback che, a sua volta, va a impostare le variabili con il valore corretto: se dopo la chiamata alla funzione metti del codice, questo verrà eseguito subito, prima che l'operazione asincrona abbia termine e richiami il callback che valorizza le variabili.
Devi gestire tutto tramite callback.
Nello specifico, non so bene cosa dovrebbe fare questa logica applicativa, cioè non ho il tempo materiale di approfondire o testare il tutto, quindi non saprei proporti una soluzione "chiavi in mano" e pronta all'uso per il tuo problema.
Ciao!![]()