Callback hell occurs when multiple and deeply nested callbacks are used, leading to difficult-to-read and maintain code.
named functions
modularisation
Promises
async/await to