| 
	| 
	
	| 
		
	| 
			
			 
			
				31.05.2012, 16:51
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
	
 
	| Сообщение от GuardCat |  
	| Deff, может проще тогда в callback запроса вставить следующий запрос по setTimeout? Тогда и ошибку можно обработать и не получится такого, что запрос пытаемся повторить до того, как пришёл ответ на предыдущий? Гибче setTimeout. |  
	
 Хм - а чем плоха   проверка флага, (установленного callback возможного ответа)  в запущенной  setInterval функции, там можно и новый запрос прицепить, в зависимости от флага? - у мну ощущение, что все таки один setInterval меньше жрёт чем несколько setTimeout.			 Последний раз редактировалось Deff, 31.05.2012 в 16:54.
 |  |  
	| 
		
	| 
			
			 
			
				31.05.2012, 19:18
			
			
			
		 |  
	| 
		
			|  | 猫       |  | 
					Регистрация: 07.06.2007 
						Сообщений: 7,504
					 
		
 |  |  
	| 
	
 
	| Сообщение от GuardCat |  
	| Например, всегда памяти расходуется больше после установки таймера и всегда часть её высвобождается после отработки таймера. |  
	
 Память может не успеть высвободится прежде чем приложение рухнет вместе с браузером. 
 
Я привести тест(визуализация действий пользователя в админке) не могу, слишком сложно его воспроизводить, но у меня первая упала Опера 12, затем Firefox12 и затем Chrome 7-19 из-за того что setTimeout сожрал всю память.
 
Твой тест не сильно поможет при создании сложного приложения, которое работает больше 20 минут. Я такие тесты вообще перестал делать. Тестирую часами, по 8 - 12 часов. К сожалению не знаю как сделать это по другому, но возможно, что никто не знает.
				__________________Последний раз редактировалось Gozar, Сегодня в 24:14.
 |  |  
	| 
		
	| 
			
			 
			
				31.05.2012, 19:27
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| GuardCat,Ну у мну запрос отправлялся раз в час, быстрее данные не обновлялись, ксать как то работало с неделю без перезагрузки.. Хотя я рекомендовал раз в день, Да браузер был Гугол Хром
 			 Последний раз редактировалось Deff, 01.06.2012 в 01:19.
 |  |  
	| 
		
	| 
			
			 
			
				31.05.2012, 22:40
			
			
			
		 |  
	| 
		
			|  | Просто любитель       |  | 
					Регистрация: 13.09.2011 
						Сообщений: 300
					 
		
 |  |  
	| Gozar, да, я понимаю, что запускать новый gmail, руководствуясь моим опытом, не стоит =)
 Опыт с 8--12 часами работы приложения можно приблизить к реальности, наняв гастарбайтера и предложив ему понажимать всё подряд на экране в течение этого времени =)
 |  |  
	| 
		
	| 
			
			 
			
				01.06.2012, 00:10
			
			
			
		 |  
	| 
		
			|  | 猫       |  | 
					Регистрация: 07.06.2007 
						Сообщений: 7,504
					 
		
 |  |  
	| 
	
 
	| Сообщение от GuardCat |  
	| я понимаю, что запускать новый gmail, руководствуясь моим опытом, не стоит =) |  
	
 Почему? Как ты собираешься получить нужный тебе опыт, если он тебе конечно нужен?
				__________________Последний раз редактировалось Gozar, Сегодня в 24:14.
 |  |  
	| 
		
	| 
			
			 
			
				01.06.2012, 06:13
			
			
			
		 |  
	| 
		
			|  | Просто любитель       |  | 
					Регистрация: 13.09.2011 
						Сообщений: 300
					 
		
 |  |  
	| Gozar, говоря "мой опыт", я подразумеваю опыт в смысле "эксперимент". Я про это своё исследование setTimeout.
 Да и js в данный момент для меня просто хобби, а не область профессиональных интересов.
 |  |  
	| 
		
	| 
			
			 
			
				01.06.2012, 13:58
			
			
			
		 |  
	| 
		
			|  | Просто любитель       |  | 
					Регистрация: 13.09.2011 
						Сообщений: 300
					 
		
 |  |  
	| Deff, вот поэтому я избегаю использовать setInterval, предпочитая многократный setTimeout. |  |  
	| 
		
	| 
			
			 
			
				01.06.2012, 14:35
			
			
			
		 |  
	| 
		
			|  | 猫       |  | 
					Регистрация: 07.06.2007 
						Сообщений: 7,504
					 
		
 |  |  
	| 
	
 
	| Сообщение от GuardCat |  
	| js в данный момент для меня просто хобби, а не область профессиональных интересов. |  
	
 Что не мешает и не противоречит одно другому.
 
Я говорил немного о другом. Скорее о том, что при использовании долгоиграющих функций и setTimeout входит в их число очень легко наступить на грабли, даже не подозревая об этом.
 
Ух ты у меня карма 166. Похоже сегодня Пятница 13 по Чучхенскому календарю.  
				__________________Последний раз редактировалось Gozar, Сегодня в 24:14.
 |  |  
	| 
		
	| 
			
			 
			
				01.06.2012, 14:43
			
			
			
		 |  
	| 
		
			|  | Модератор Всея Форума       |  | 
					Регистрация: 14.05.2009 
						Сообщений: 4,021
					 
		
 |  |  
	| Прелесть использования setTimeout ещё и в том, что время задержки можно корректировать при каждом следующем запуске функции, в зависимости от того, на сколько задержался предыдущий таймер.
 Суммарное время таймеров при этом будет правильным настолько, насколько это вообще возможно в браузере.
 
 Это хорошо видно при анимации: если произошел лаг (а это частое явление) - следующий шаг будет уже больше, уменьшая время, оставшееся до конца анимации. И это правильно.
 
				__________________ 
				Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф |  |  
	| 
		
	| 
			
			 
			
				01.06.2012, 15:27
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
	
 
	| Сообщение от B~Vladi |  
	| Прелесть использования setTimeout |  
	
 Cобственно Спорный довод, посколь существует 
 clearInterval, и перезапуск,  и У мну жуткое подозрение что setTimeout и 
setInterval  формируются одинаково, ток у setTimeout стоит однократный флаг исполнения завершающий функцию, очевидно, еще и чистит дефолтное или установленное Timerid |  |  
 
 
 
 |  |