async/await c'est très récent, et c'est utile que si tu veux rester en séquentiel, sinon t'est foutu faut utiliser les promises.
Converti tes observables en promises quand ce sont des taches ("un seul retour possible") c'est plus facile à manipuler et plus proche de la définition théorique. Si tu veux chaîner tes promises, utilise le then(). Si tu veux attendre tout le monde en même temps utilise le Promise.All(). Si tu veux chaîner après plusieurs appels, un Promise.All() suivi de then().