czy tylko synchronicznie, czy da się asynchronicznie?

Jeśli poprzez ajaxa nie chcę zmieniać elementów strony, a jedynie zmieniać zawartość jakiejś zmiennej w obiekcie np przechowującej wartości w formacie JSON to czy tylko mogę robić to synchronicznie?

próbowałem robić coś samodzielnie, potem skorzystałem z jQuery i zawsze miałem ten sam problem, że próba przypisania była wcześniej niż koniec wywołania żądania, nawet wtedy gdy akcję umieszałem w onsuccesc czy oncomplete

przykład:

obiekt.prototype.funkcja=function(){

this.zmienna = ajax();

/*jakaś akcja z tą zmienną*/

}

o ile rozumiem asynchroniczność to wszystko co jest dalej jest wykonywane niezależnie od od ajaxa - czyli faktycznie operuję na zmiennej o wartości domyślniej, czy to bedzie null czy 0 nieważne - ważnie że nie na danych z ajaxa.

i dlatego trzeba to robić synchronicznie - co jak wiadomo blokuje przeglądarkę i podobno tak się nie robi, bo to jest brzydko - OK, ale jak zrobić żeby było ładnie, dobrze i poprawnie - gdy chcę wywołać np na kliku metodę klasy, pobrać i załadować wynik do zmiennej - może być tekst może być JSON - a potem to wykorzystywać mając taki obiekt w pamięci