Get into habit to always add at least 2 listeners: Complete - which normally is added by all, and IOErrorEvent which normally is skipped by all:)
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderHandler, false, 0, true);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loaderHandler, false, 0, true);
loader.load(new URLRequest("path/to/image.jpg"));
//...
protected function libLoadHandler(e:Event):void
{
var loader:Loader = (e.target as LoaderInfo).loader;
if(e.type == Event.COMPLETE || e.type == IOErrorEvent.IO_ERROR)
{
//unregister both as COMPLETE and IO_ERROR are "finishing" events
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderHandler, false);
loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, loaderdHandler, false);
//do something after event based on event type
}
}