Есть такое понятие: асинхронная функция. Это функция, которая не возвращает значение в return, а передаёт его, вызывая свой аргумент.
function load(url, callback) {
// Тут делает запрос на сервер, после чего вызывается callback
callback(result);
}
Вызывается это, соответственно
load('/url.php', function(html) {
alert(html);
});
"Цепочки вызовов", соответственно, просто увеличивают вложенность, избавиться от которых можно именованными функциями.