Всем доброго времени суток!
Как известно, применение синхронных запросов нежелательно. Но вот что делать, если информацию нужно получить "вложенно". То есть для того, чтобы выдать инфу, нужно сделать последовательные запросы к серверу.
Например (хардкор конечно, но):
var user = {
    country: 1,
    region: 2,
    city: 5
};
Запрос А = запрашиваем пользователя, получаем айди страны, региона, города
Запрос В = запрашиваем страну по айди, получаем айди областей
Запрос С = запрашиваем область по айди, получаем айди городов
Запрос D = запрашиваем город по айди, и получаем наконец название города...
Т.к. используем  AJAX (А), то запросы посылаются синхронно с проходом компилятора (К), но К не дожидается пока А вернет что-то. В итоге код вида
var Adress = function(countryId, regionId, cityId){
    var adr = {};
    var gCr = AJAX.getCountries();
    adr.country = gCr[countryId].name;
    var gRg = AJAX.getRegionInCountry(countryId);
    adr.region = gRg[regionId].name;
    var gCt = AJAX.getCityInRegion(regionId);
    adr.city = gCt[cityId].name;
    return adr;
};
var U_adress = new Adress(user.country, user.region, user.city);
var string = "Пользователь проживает по адресу" +  U_adress.country + U_adress.region + U_adress.city;
вообще неуместен, т.к на выходе по понятным причинам получим 
Польз. пр. по адресу undefined undefined undefined.
При использовании колбеков, которые как раз таки применяются для такого
AJAX.getCountries(function () {
    ///...
    var gRg = AJAX.getRegionInCountry(countryId, function () {
        ///...
        var gCt = AJAX.getCityInRegion(regionId, function () {
            ///...
        })
    })
});
не получается вернуть результат в родительскую ф-цию, не знаю даже почему, наверно, коллбек просто завершает себя в никуда. В итоге на выходе снова получаем 
Польз. пр. по адресу undefined undefined undefined
Вопрос, уважаемые знатоки: Как заставить этот AJAX сделать вложенные (последовательныe) запросы, когда для одного запроса нужно сделать сначала другой, а для другого сначала третий и т.д ?