ho provato anche così, ma result mi ritorna sempre undefined.
Però se faccio il debug da browser, nella sezione RETE, in Risposta vedo il valore di ritorno corretto:
codice:function elabora() { jQuery.ajax({ url: "script_che_accede_al_database.php", success: function(result) { if(result == 0) { // esegui codice } else { // esegui codice } return result; } }); } var i = 1; let conteggio = ''; while(i > 0) { conteggio = elabora(); alert(conteggio); i = conteggio; }