Lemme, не обращай на него внимания, это местный цепной тролль)
С асинхронными функциями в JS работают с помощью коллбеков (система замыканий тут очень в тему):
SomeClass.prototype.foo = function(id, onSuccess) {
ajax({
method: 'POST',
url: 'test.php',
params: 'id='+id,
success: onSuccess
});
}
var instance = new SomeClass();
instance.foo(10, function(response) {
console.log(response);
});
Если хочешь упрощения кода - посмотри в сторону Promise из ES6 (это новейшая спецификация языка, только месяц назад релизнулась), с ними код будет выглядить так:
SomeClass.prototype.foo = function(id) {
return ajax({
method: 'POST',
url: 'test.php',
params: 'id=' + id,
success: onSuccess
});
}
var instance = new SomeClass();
instance.foo(10).then(function(response) {
});
Промайзы доступны во всех последних браузерах, кроме IE, для него придется подключить
какой-нибудь полифилл.