Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 31.05.2012, 16:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от GuardCat
Deff, может проще тогда в callback запроса вставить следующий запрос по setTimeout? Тогда и ошибку можно обработать и не получится такого, что запрос пытаемся повторить до того, как пришёл ответ на предыдущий? Гибче setTimeout.
Хм - а чем плоха проверка флага, (установленного callback возможного ответа) в запущенной setInterval функции, там можно и новый запрос прицепить, в зависимости от флага? - у мну ощущение, что все таки один setInterval меньше жрёт чем несколько setTimeout.

Последний раз редактировалось Deff, 31.05.2012 в 16:54.
Ответить с цитированием
  #32 (permalink)  
Старый 31.05.2012, 19:18
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от GuardCat
Например, всегда памяти расходуется больше после установки таймера и всегда часть её высвобождается после отработки таймера.
Память может не успеть высвободится прежде чем приложение рухнет вместе с браузером.

Я привести тест(визуализация действий пользователя в админке) не могу, слишком сложно его воспроизводить, но у меня первая упала Опера 12, затем Firefox12 и затем Chrome 7-19 из-за того что setTimeout сожрал всю память.

Твой тест не сильно поможет при создании сложного приложения, которое работает больше 20 минут. Я такие тесты вообще перестал делать. Тестирую часами, по 8 - 12 часов. К сожалению не знаю как сделать это по другому, но возможно, что никто не знает.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #33 (permalink)  
Старый 31.05.2012, 19:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

GuardCat,
Ну у мну запрос отправлялся раз в час, быстрее данные не обновлялись, ксать как то работало с неделю без перезагрузки.. Хотя я рекомендовал раз в день, Да браузер был Гугол Хром

Последний раз редактировалось Deff, 01.06.2012 в 01:19.
Ответить с цитированием
  #34 (permalink)  
Старый 31.05.2012, 22:40
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Gozar, да, я понимаю, что запускать новый gmail, руководствуясь моим опытом, не стоит =)

Опыт с 8--12 часами работы приложения можно приблизить к реальности, наняв гастарбайтера и предложив ему понажимать всё подряд на экране в течение этого времени =)
Ответить с цитированием
  #35 (permalink)  
Старый 01.06.2012, 00:10
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от GuardCat
я понимаю, что запускать новый gmail, руководствуясь моим опытом, не стоит =)
Почему? Как ты собираешься получить нужный тебе опыт, если он тебе конечно нужен?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #36 (permalink)  
Старый 01.06.2012, 06:13
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Gozar, говоря "мой опыт", я подразумеваю опыт в смысле "эксперимент". Я про это своё исследование setTimeout.

Да и js в данный момент для меня просто хобби, а не область профессиональных интересов.
Ответить с цитированием
  #37 (permalink)  
Старый 01.06.2012, 13:58
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Deff, вот поэтому я избегаю использовать setInterval, предпочитая многократный setTimeout.
Ответить с цитированием
  #38 (permalink)  
Старый 01.06.2012, 14:35
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от GuardCat
js в данный момент для меня просто хобби, а не область профессиональных интересов.
Что не мешает и не противоречит одно другому.

Я говорил немного о другом. Скорее о том, что при использовании долгоиграющих функций и setTimeout входит в их число очень легко наступить на грабли, даже не подозревая об этом.

Ух ты у меня карма 166. Похоже сегодня Пятница 13 по Чучхенскому календарю.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #39 (permalink)  
Старый 01.06.2012, 14:43
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Прелесть использования setTimeout ещё и в том, что время задержки можно корректировать при каждом следующем запуске функции, в зависимости от того, на сколько задержался предыдущий таймер.

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

Это хорошо видно при анимации: если произошел лаг (а это частое явление) - следующий шаг будет уже больше, уменьшая время, оставшееся до конца анимации. И это правильно.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #40 (permalink)  
Старый 01.06.2012, 15:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от B~Vladi
Прелесть использования setTimeout
Cобственно Спорный довод, посколь существует
clearInterval, и перезапуск, и У мну жуткое подозрение что setTimeout и
setInterval формируются одинаково, ток у setTimeout стоит однократный флаг исполнения завершающий функцию, очевидно, еще и чистит дефолтное или установленное Timerid
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Работа с табличными данными, как? Spelesto Общие вопросы Javascript 31 14.12.2010 20:56
Работа с объектом MadGest Общие вопросы Javascript 3 21.09.2010 14:28
Работа с объектом style (CSSStyleDeclaration) Skipp Events/DOM/Window 10 22.05.2010 11:49
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20