Quote Originariamente inviata da M4V1 Visualizza il messaggio
Hai fatto bene, async await è molto più intuitivo, e semplifica anche il codice.
Occhio però che non sono compatibili con tutti i browser, a meno di non usare un "transpiler" nella scrittura di applicazioni; ad esempio, su Internet Explorer (benché morente) non sono supportate.

Quote Originariamente inviata da M4V1 Visualizza il messaggio
Comunque secondo me il codice precedente era corretto, solo non avevi capito bene come e quando si valorizza la Promise.
Anche secondo me, ma non sforzandosi nel rivedere il codice oppure isolare quella parte in qualcosa di riproducibile, capire dov'è il problema non è così semplice.

Magari la sintassi async/await può aiutare, tuttavia si tratta comunque di "zucchero sintattico" che - dietro le quinte - fa comunque uso di Promise, quindi lo strumento è lo stesso e pertanto non è da escludere che, al termine della riscrittura, ci troveremo ad analizzare di nuovo una "barca" di codice riscritto con problematiche affini.

A mio avviso, qui va cambiato l'approccio nella scrittura del codice, più che l'espediente per l'asincronicità.

Ciao!