Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.

Есть какие-нибудь идеи?
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2010, 11:15
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

используйте замыкание
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2010, 11:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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

Сообщение от Gvozd Посмотреть сообщение
используйте замыкание
Об этом тоже думал, но решил оставить на потом.

Сообщение от Kolyaj Посмотреть сообщение
Нужно совместить оба способа. Передавать колбэк и контекст вызова.
Сейчас пробую это.

Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование данных с сервера в JSON frolvict Общие вопросы Javascript 1 04.04.2010 12:26
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
Хранимая область данных. PolarWolf Общие вопросы Javascript 17 14.01.2009 18:25
Сохранение данных на стороне клиента средствами Javascript baal1988 Events/DOM/Window 4 24.08.2008 21:32