Показать сообщение отдельно
  #1 (permalink)  
Старый 13.05.2009, 13:58
Ajax
 
Сообщений: n/a

Как узнать, завершила ли свою работу рекурсивная функция
Здраствуйте у меня есть несколько рекурсивных функций которые вызывают сами себя, все они заканчивают свою работу по разному, какаято закончила а какаято еще вызывается, так вот нужно периодически узнавать, завершили ли все функции свою работу. У меня для этого сделан объект, при завершении работы функции, в соответствующее свойство объекта записывается false а когда он работает это свойство принимает true, и периодически проверяю есть ли в объекте свойства с true, если нет то соответственно работа функций прекратилась и можно ехать дальше...
function isCompleteResize() {
	for(var prop in isResize) {
		if(isResize[prop]) isResizeArr.push('1');		
	}	
	if(isResizeArr.length == 0) {работа функций прекратилась, совершаем дальнейшие действия}
 	else {isResizeArr.length = 0; setTimeout(isCompleteResize,100);}
}

косяк в том что при каждой операции связанной с вызовом функций, массив теряет по одному элементу, куда непонятно, в других случая хон и вовсе равен нулю хотя функции работают, может ктото сталкивался с этим и есть более изящные решения...)?
Ответить с цитированием