如何向loadRes的回调函数中传递参数?

如何向loadRes的回调函数中传递参数呀?求大神指导
我的需求如下:
我需要根据items中的数据,更新背包中的道具,我就遍历背包节点的子节点,然后获取图片,但这个时候,在回调函数中就不知道子节点的索引 i 了。代码如下

for(var i = 0; i < 20; ++i){
var self = this;
cc.loader.loadRes(items[i].imgurl, cc.SpriteFrame, function (err, spriteFrame) {
var beibao = self.node.getChildByName(“beibao”);
var tu = beibao.children[i].getChildByName(‘tu’);
tu.getComponent(cc.Sprite).spriteFrame=spriteFrame;
});
}

有解决方案的网页链接,给一个也行,谢谢了!!!

   let self = this; 
   for (let i = 0; i < 20; ++i) {
        cc.loader.loadRes(items[i].imgurl, cc.SpriteFrame, function(err, spriteFrame){
            console.log(`index=${i}`, self.node);
        });
    }

使用 let 声明变量 即可。var 和 let 的作用域是不一样的。

var 无论在函数左右阈还是全局作用域中声明,都会被当成在当前作用域顶部声明的变量;

let 声明的用法与var一致,let声明的变量可以把变量限制在作用域的代码中。

谢谢了,我来试试