2017-09-20 79 views
0

我想通过一个整数值我回调,这是不按预期工作,因为可用作为参考。如何将值传递给JavaScript回调/ clousure作为传值

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

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

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) 
} 
+0

@ user3804449为什么你投我的答案,我相信是一个正确的答案 – AngelSalazar