Показать сообщение отдельно
Старый 13.04.2017, 03:19
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 4  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
если решать задачу в лоб, то меняй события, на методы инициализации класса, с ними работать проще

Код AS3:
public function init(handler:Function):void{
  //loading..
  handler();
}
дальше задаешь последовательность
Код AS3:
var queue:Array=[myClassLoader.init, myClassLoader2.init,...]
и отправляешь ее в функцию параллельного вызова
Код AS3:
function listCall(handlers, cb){
	var queue=handlers.length;
	handlers.forEach(function(handler) {
		handler(function(){
			if (--queue==0)
				cb&&cb()
		})
	});
}
или последовательного
Код AS3:
function chainCall(handlers, cb){
	var handler=handlers.shift();
	if (!handler)
		return cb&&cb();
	handler(function(){
		chain(handlers, cb)
	})
}
Типа таких, писал по-памяти. Но 100% что сама проблема у тебя в архитектуре, и решение такое тут не лучшее