Это должно быть возможно при использовании конструкции динамической функции Flex. Аналогичный вопрос был задан здесь и здесь .
Вот пример:
Параметры и обработчик:
var parameters:String = "Some parameter I want to pass";
private function loadLocalData(e:Event, parameter:String):void
{
// voila, here's your parameter
}
private function addArguments(method:Function, additionalArguments:Array):Function
{
return function(event:Event):void {method.apply(null, [event].concat(additionalArguments));}
}
Использование в вашем примере:
for(var i:int = 0 ; i<5; i++){
/* When completed I want to access the variable "i" */
loader.addEventListener(Event.complete, addArguments(completeHandler, [i]));
loader.load(/* a url request */);
}
private function completeHandler(event:Event, id:int):void
{
/* I want to access the passed parameter "i" so
it is the same as it was when the eventListener was added, 0,1,2,3 or 4 */
}