Javascript.RU

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

Как запустить функцию, только если выполнились все события, на которые она подписана
При загрузке страницы сперва загружается скрипт, который посылает на сервер аякс запрос, чтобы узнать сведения о пользователе (из сессии), например, установленный язык. После загрузки скриптов начинает формироваться ДОМ. Есть функция, которая должна установить нужный язык для сайта, но сделать это она должна только после того как придет ответ с сервера + сработает $(document).ready.

Есть идея завернуть все в defferer и использовать $.when. Либо тупо с флагами в глобальной области. Но все не нравится. Как лучше делать в подобных ситуациях?
Ответить с цитированием
  #2 (permalink)  
Старый 04.03.2013, 23:08
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

По моему это "Объект callbacks"
Цитата:
Начиная с версии 1.7, в jQuery появились объекты callbaks. Они позволяют организовывать наборы функций обратного вызова. Именно с помощью callbaks в jQuery организованы ajax и объекты deferred. Конечно, callbaks'ы могут быть полезны и для создания собственных удобных компонентов.
http://jquery.page2page.ru/index.php...1%82_callbacks
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2013, 00:27
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Это читал. А сами пользовались? Это повлечет изменение архитектуры (которой тоже пока нет) с триггер-обработчик на колбек/дефферер. Оправдано ли?

P.S. И наборы функций в моем случае не подойдут, т.к. нужно запускать один обработчик на два события, а не два обработчика на одно

Последний раз редактировалось Shitbox2, 05.03.2013 в 00:39.
Ответить с цитированием
  #4 (permalink)  
Старый 05.03.2013, 06:48
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Shitbox2,
я тоже читал, но не догнал и даже тему подобную поднимал "Ставка -> Карта -> Игра", как умнее сделать?, а сделал на глобальных. Смотри var stavka_status = false, card_status = false

Последний раз редактировалось Serg_pnz, 05.03.2013 в 06:50.
Ответить с цитированием
  #5 (permalink)  
Старый 05.03.2013, 10:40
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Это да... Народ ни здесь, ни на других форумах практически не разбирается в архитектуре приложений. Шаблоны JS и эта статья http://habrahabr.ru/post/123635/ верх того, что можно найти в инете по теме
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баги Opera пишем сюда devote Оффтопик 101 08.08.2013 05:56
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как запустить функцию если результат клика - true Oracool Events/DOM/Window 1 14.04.2010 11:22
js файл(незнаю как запустить функцию) Temchik Opera, Safari и др. 6 20.07.2009 11:49
Как вызвать функцию если менять надо не все параметры? britanik Общие вопросы Javascript 3 07.03.2009 23:13