Three.TextureLoader не загружает файлы изображений

Так что я какое-то время возился с THREE и Node, и до сих пор я загружал текстуры с помощью класса TextureLoader следующим образом:

var loader = new THREE.TextureLoader;
loader.crossOrigin = '';

function createSphere ( radius , segments , rings ) {

  var geometry = new THREE.SphereGeometry(radius , segments , rings);

  var material = new THREE.MeshPhongMaterial({

        map: loader.load('./images/...'),
        bumpMap: loader.load('./images/...'),
        ect...

  });

  return new THREE.Mesh ( geometry, material )
}

Это работало нормально, и затем я решил, что вместо загрузки текстур при создании материала, который я хотел бы предварительно загрузить всеми своими текстурами, я сделал небольшую утилиту для этого:

var loader = new THREE.TextureLoader;
loader.crossOrigin = '';

var textureMap = {

earthTex : {file : 'earth_no_ice_clouds.jpg', message : 'Loading Global Land Masses'},
earthBumpTex : {file : 'earth_bump.jpg', message : 'Loading Global Depth'},
earthSpecTex : {file : 'earth_specular.png', message : 'Loading Water'},
earthCloudTex : {file : 'earth_clouds.png', message : 'Loading Clouds'},
earthCultureTex : {file : 'earth_cultural.png', message :'Loading Country Borders'},
earthLookUpTex : {file : 'earth_lookup.jpg', message :'Loading Country Projections'},
moonTex : {file : 'moon.jpg', message :'Loading Lunar Surface'},
moonBumpTex : {file : 'moon_bump.jpg', message : 'Loading Lunar Depth'},
skyDomeTex : {file : 'galaxy_3.png', message : 'Loading Galaxy'}

};

Object.size = function(obj) {
    var size = 0, key;
    for (key in obj) {
        if (obj.hasOwnProperty(key)) size++;
    }
    return size;
}

function loadTextures(  ) {

    var path = "./images/";
    var size = Object.size(textureMap);
    var count = 0;

    for(var key in textureMap) {
        var textureItem = textureMap[key];
        var texture = loader.load(path + textureItem.file);
        console.log(texture);
    }
}

loadTextures();

Всякий раз, когда я запускаю это в своем браузере (Chrome) с открытыми инструментами разработчика, объект THREE.texture, который в конечном итоге регистрируется, имеет свойство image, установленное в «undefined», и свойство src, установленное в «». Я не понимаю, почему это происходит, и я не изменил ни пути к моим файлам .png или .jpg, ни местоположение файла, в котором я использую свой TextureLoader.

Когда я пытаюсь запустить первый фрагмент кода сверху, также возникает ошибка, и теперь я не могу загрузить какие-либо текстуры в свое приложение.

Любая помощь в понимании того, почему это произошло внезапно, будет принята с благодарностью.

РЕДАКТИРОВАТЬ

Я отредактировал первый блок кода в попытке прояснить мою проблему. Я не использовал обещания или обратные вызовы или что-то подобное раньше. Я просто вызывал свою функцию 'createSphere' и подобные функции из моей функции инициализации сцены. Раньше он работал нормально, и у меня не было проблем с загрузкой текстур.

Теперь, используя ту же структуру программы, что и раньше, первый блок кода не работает.

Ответы на вопрос(1)

Ваш ответ на вопрос