2017-09-20 18 views
0

コールバックに整数値iを渡そうとしていますが、のiが参照として使用可能であるため、期待どおりに機能しません。値渡しとして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が必要なため、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) 
} 
+0

@ user3804449なぜあなたは私の答えを投票したのですか?私は正解ですと信じています。 – AngelSalazar

関連する問題