Из callback-функции не видны другие функции 
		
		
		
		Добрый день! 
	Вот такая проблема у меня - пишу класс, в одном из методов при получении данных от сервера вызывается функция-колбек. И вот из этой функции почему-то не видны все остальные функции класса, в консоли пишут, что <имя функции> не является функцией. В чем может быть проблема? Пробовал вызывать и через this. и просто по имени функции - бестолку..  | 
	
		
 Код в студию, что-то мне подсказывает, что там присутствуют таймеры. 
	 | 
	
		
 Этот класс сингл тон или у него могут быть экземпляры? Этот класс в глобальной области видимости? 
	 | 
	
		
 
this.companyTask.prototype.someFunction = function (param) {
//......
}
// тот самый колбек
this.companyTask.prototype.companyRedraw = function (text, xml) {
    if (text != '') {
        this.relOperations = dhx.DataDriver.json.toObject(text);
        
     // Вот тут хочу вызвать какую-то функцию класса, например через this
     this.someFunction ('foo bar');
    }
};
// Отправляем запрос на сервер и ждем ответ
this.companyTask.prototype.getRelOperations = function () {
   
    formData = '';
    dhx.ajax().post(URL_BASE+"/mobile/company/index/getreloperations", formData, this.companyRedraw);
};
 | 
	
		
 Выведите в колбеке в консоле this и вы удивитесь увидев там не свой класс) 
	Обращайтесь к методу не через this  | 
	
		
 Класс фактически синглтон, то есть за всю жизнь программы он создается всего один раз, однако средствами класса это никак не проверяется. Так что это, наверно, не синглтон в чистом виде. 
	Область видимости, на сколько я понимаю, глобальная  | 
	
		
 Matisumi, 
	Либо используйте bind, либо 
this.companyTask.prototype.getRelOperations = function () {
	    var t = this;
	    formData = '';
	    dhx.ajax().post(URL_BASE+"/mobile/company/index/getreloperations", formData, function(data){t.companyRedraw(data)});
};
 | 
	
		
 Цитата: 
	
  | 
	
		
 Всем спасибо, сделал через замыкание 
	 | 
| Часовой пояс GMT +3, время: 02:46. |