function getXHR(url,col) {
    var req = new XMLHttpRequest();
    
    req.open('GET', url, true);
    req.onreadystatechange = function () {
        if (this.readyState == 4) {
            if (this.status == 200 || this.status == 0) {
                var s = col(this.responseText);
                return s;
                } else {
                console.log(‹something went wrong');
                }; 
        };            
        }
    req.send();
    
};
есть код который написан по какойто из статей вкладываемых сдесь.
Так и не смог розобратся в как мне получить результат вызова     req.onreadystatechange.  И как дождаться момента когда придет результат в переменную, вдругом скрипте а то получается седуйшее.
Если в onreadystatechange вызвать функцию     alert перед ретёрном, то он сработает через какоето время после данного вызыва     alert("SDDD: " + suggestionText) что не есть хорошо.
    var suggestionText =  getCity(); 
    alert("SDDD: " + suggestionText);
Вообщем помогите разобраться новичку ))))