> For the complete documentation index, see [llms.txt](https://guide-angular.wishtack.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide-angular.wishtack.io/angular/callback-hell-vs.-promise-vs.-async-await.md).

# Callback Hell vs. Promise vs. Async / Await

Dans un univers asynchrone, nous sommes amenés à utiliser des fonction de "callback" pour être informé du résultat du traitement.

Le chapitre [Callback Hell](/angular/callback-hell-vs.-promise-vs.-async-await/callback-hell.md) présente les limitations des "callback" "classiques" puis les chapitres suivants présentent progressivement des solutions de plus en plus élégantes et puissantes.

{% hint style="info" %}
Bien qu'il soit tentant d'aller directement au chapitre [Observables](/angular/observables.md), il est nécessaire de maitriser les [Promise](/angular/callback-hell-vs.-promise-vs.-async-await/promise.md) ainsi que l'approche [Async / Await](/angular/callback-hell-vs.-promise-vs.-async-await/async-await.md) qui s'avèrent pratiques dans certains cas.
{% endhint %}

{% content-ref url="/pages/-LCYyXMyzj6Tum4oNbMh" %}
[Callback Hell](/angular/callback-hell-vs.-promise-vs.-async-await/callback-hell.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LCYzaXEXLJJZDb27ppZ" %}
[Promise](/angular/callback-hell-vs.-promise-vs.-async-await/promise.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LCYzh\_TfeAiXWXU9T2J" %}
[Async / Await](/angular/callback-hell-vs.-promise-vs.-async-await/async-await.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LCZ-2sphpWK1Mgz0K4m" %}
[Observables](/angular/observables.md)
{% endcontent-ref %}
