How do you load BitmapData into an Array?

I’m loading a series of JPEGs, and I want to store them in an Array as a preload method, before distributing them to individual MCs.

My basic code (just placing them onstage to test this):


picXML:XML = theXML;
for(kk=0;kk < counter;kk++) {
        var picPath:String = "images/"+picXML.element[kk].id+"_pic.jpg";
        var imageLoad = new Loader();
        imageLoad.load(new URLRequest(picPath));
        imageLoad.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);

        function imageLoaded(e:Event):void {
            bitBucket = new BitmapData(imageLoad.width,imageLoad.height,false,0xffffff);
            bitBucket.draw(imageLoad, null, null, null, null, true);
            
            bitmapList[kk] = bitBucket as BitmapData;

            newPic = new Bitmap(bitmapList[kk]);
            newPic.x = 5 * kk; // offsets so images won't cover each other
            newPic.y = 5 * kk;
            addChild(newPic);
        }
}

But I’m doing it wrong, because only the last image gets placed on stage, and the rest are blank.

Any advice?