动态加载资源遇到问题cc.loader.loadRes函数

for(let row=1;row<GlobalData.rowCount-1;row++)
    {
        for(let col=1;col<GlobalData.colCount-1;col++)
        {
            //如果地图数组上的元素>0,表示这个位置是应该有图片的
            if(GlobalData.mapArray[row][col]>0)
            {
                let imageIndexName="sp"+GlobalData.mapArray[row][col].toString();       //根据数字序号获取图片精灵名字
                cc.log(imageIndexName);
                // let position=IndexToScreen(row,col);                                 //根据row和col获取 该精灵屏幕坐标的位置
                cc.loader.loadRes("assets/prefab/"+imageIndexName,cc.prefab,function(err,prefab)    //加载图片资源,并且将图片精灵放置到面板上,设置相应的参数
                {
                    let iconNode=cc.instantiate(prefab);
                    iconNode.setPosition(cc.vec2(200,200));
                    // iconNode.setTag(GlobalData.mapArray[row][col]);
                    cc.director.getScene().addChild(iconNode);
                });
            }
        }
    }

这个循环中,在chrome中打断点看,发现要循环跑完 let imageIndexName=“sp”+GlobalData.mapArray[row][col].toString();函数, 才会去执行loaderloadRes,如果我想每获得一个imageIndexName,就获得一个相应prefab怎么办?

cc.loader.loadRes是异步加载的

可以使用一个数组来存储cc.instantiate(prefab),另外cc.loader.loadRes不能直接在for循环里使用。
例:

我没在for循环里直接使用也出错了emmmm