dalla funzione richiamata all' onsubmit devi comunque far ritornare false,
il form non aspetta che tu abbia il risultato di una chiamata asincrona per decidere se procedere o meno al submit
poi, se quello che ricevi come risultato dalla chiamata asincrona soddisfa le condizioni che tu sai, forzi il submit
con document.nomeForm.submit() o document.getElementyById('idForm').submit()
o comunque referenzi il form
ciao