fabric.loadSVGFromURL在循环中调用时总是调用最后一个回调

时间:2014-03-10 19:46:42

标签: fabricjs

fabric.loadSVGFromURL在循环中调用时总是调用最后一个回调,而不是循环中的所有回调。 看起来像fabric loadSVGFromURL中的闭包问题。下面的代码总是在控制台日志中打印值2,告诉我们仅在最后一次迭代时调用回调。

代码

var paths = ['walking-0.svg', 'walking-1.svg', 'walking-2.svg'];
for (var i = 0; i < paths.length; i++) {
    var path = paths[i];
    fabric.loadSVGFromURL(path, (function (i) {
        return function (objects, options) {
            console.log(i); //always print 2, when the expected behaviour is to print all the three number starting from 0 to 2.
            console.log(objects) //print only once, when it should print thrice
        }
    })(i));
}

0 个答案:

没有答案