Я знаю, что javascript не использует Class
, по крайней мере, не в здравом смысле`. Я хотел бы знать, как вернуть и сохранить возвращаемое значение AJAX в переменной класса, а не вызывать несколько методов в обратном вызове.
var Reader = function(){
//Initialize some variables
this.data = null;
}
Reader.prototype.makeAjaxCall = function(urlPath){
//Make and Ajax call and return some value
Ajax.success(function(data){
this.data = data;
});
}
Reader.prototype.searchData = function(param){
//Needs access to this.data
}
Reader.prototype.findData = function(id){
//Needs access to this.data
}
Reader.prototype.deleteItem = function(id){
// Needs access to this.data
}
В приведенном выше коде любая функция, которая нуждается в доступе к свойству data
, должна быть вызвана в ajax success callback
, поэтому, если у меня есть десять методов, которые нуждаются в данных, мне придется выровнять их все в пределах обратный вызов, который я не чувствую, прав. Как свести к минимуму количество функций в обратном вызове и обеспечить некоторыми другими способами успешную работу функции и сохранение данных переменной экземпляра data
.