Показать сообщение отдельно
  #1 (permalink)  
Старый 17.08.2010, 11:06
m00 m00 вне форума
Интересующийся
Отправить личное сообщение для m00 Посмотреть профиль Найти все сообщения от m00
 
Регистрация: 10.11.2009
Сообщений: 22

Возврат данных в асинхронном запросе
Всем привет.

Есть два класса: Controller и Model.

1. Конструктор класса Controller, создает экземпляр класс Model:
constructor: function() {
     this.model = new Model();
};

2. Класс Model содержит метод asyncRequest, который асинхронно шлет на сервер запросы.

3. Метод класс Controller, вызывает метод asyncRequest:
{
     this.model.asyncRequest();
};

Вопрос, как вернуть данные, полученные с сервера, в Controller?

Пробовал два способа:

Способ 1. Передавал callback функцию в метод asyncRequest:
{
     this.model.asyncRequest(this.callback);
};

Проблема в том, что когда функция вызовется, ей не будут доступны свойства и методы класс Controller.

Способ 2. Передавать объект класса Controller - this, и уже в нём вызывать нужный метод ... но не очень хочется выносить эту логику в класс Model.

Есть какие-нибудь идеи?
Ответить с цитированием