【发布时间】:2016-05-25 06:39:57
【问题描述】:
我正在尝试使用 THREE.XHRLoader 加载多个文件,当它完成时,我想获取该对象的密钥并将其与文件一起添加到另一个对象 (loadedFiles)。我遇到的问题是,每当我尝试检索已加载对象的键时,它总是返回对象数组中的最后一个键,因为在循环结束后调用了加载函数的回调。
我有这样的东西:
var loader = new THREE.XHRLoader();
var loaded = 0;
for (var k in filesToLoad) {
loader.load(filesToLoad[k], function(file) {
console.log(k); // This will always return the last key when I want
//it to the return the key that was loaded instead!
loadedFiles[k] = file;
loaded++;
if (loaded == Object.keys(filesToLoad).length) {
console.log(loadedFiles);
}
});
}
【问题讨论】:
标签: javascript loops asynchronous three.js