如何将值传递给javascript回调/ clousure作为值传递

时间:2017-09-20 14:51:24

标签: javascript callback closures

我正在尝试将整数值i传递给回调,由于 i 可用作参考,因此无法正常工作。

for (var i = this.texturesPath.length - 1; i >= 0; i--) {

var textureIndex = i;


loader.load(baseTexturePath + this.texturesPath[i], function(texture) {

    scope.textures[textureIndex] = texture;
});

此方案的解决方案/方法是什么?

1 个答案:

答案 0 :(得分:-1)

这就是你需要一个IIFE,所以你可以“保存”i;

for (var i = this.texturesPath.length - 1; i >= 0; i--) {
  (function (index){
    loader.load(baseTexturePath + this.texturesPath[index], function(texture){
      scope.textures[index] = texture;
    })
  })(i)
}