Egy olyan kódstruktúra, amely akkor alakul ki, amikor több egymásba ágyazott callback függvény használata válik egyre nehezen olvashatóvá és kezelhetővé.
Ez a helyzet akkor fordul elő, amikor egy aszinkron művelet befejezésekor egy újabb aszinkron műveletet kell elvégezni, és ez az eljárás fokozatosan mélyül. Ennek eredményeként a kód nehezen áttekinthetővé, karbantarthatóvá válik.