En ES8 fue añadida una nueva forma de manejar el asincronismo en JavaScript mediante funciones. La función asíncrona se crea mediante la palabra reservada async y retorna una promesa.
Await significa que espera hasta que una promesa sea resuelta y solo funcionan dentro de una función asíncrona. Los bloques try / catch sirven para manejar si la promesa ha sido resuelta o rechazada.
¿Cuál es la mejor forma de manejar promesas, then o async / await? Ambas son muy útiles, manejar ambas te hará un mejor desarrollador o desarrolladora.