Three.TextureLoader não está carregando arquivos de imagens

Então, eu tenho mexido com THREE e Node por um tempo e, até agora, carrego texturas usando a classe TextureLoader da seguinte maneira:

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

Estava funcionando bem, e então decidi que, em vez de carregar as texturas quando criei o material, gostaria de pré-carregar todas as minhas texturas, então criei um pequeno utilitário para fazer exatamente isso:

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();

Sempre que eu executo isso no meu navegador (Chrome) com as ferramentas do desenvolvedor abertas, o objeto THREE.texture que acaba sendo registrado tem sua propriedade de imagem definida como 'indefinida' e sua propriedade src definida como "". Não entendo por que isso está acontecendo e não alterei nenhum dos caminhos para meus arquivos .png ou .jpg nem o local do arquivo no qual estou usando o meu TextureLoader.

Quando tento executar o primeiro trecho de código na parte superior, o erro também ocorre e agora não consigo carregar nenhuma textura no meu aplicativo.

Qualquer ajuda para entender por que isso aconteceu de repente seria muito apreciada.

EDITAR

Editei o primeiro bloco de código na tentativa de tornar meu problema mais claro. Eu não estava usando promessas ou retornos de chamada ou qualquer coisa do tipo antes. Eu estava apenas chamando minha função 'createSphere' e funções similares da minha função de inicialização de cena. Costumava funcionar bem, e não tive problemas ao carregar texturas.

Agora, usando a mesma estrutura de programa de antes, o primeiro bloco de código não funciona.

questionAnswers(1)

yourAnswerToTheQuestion