Three.js hide object in a group outside load function


I am new to Three.js and have a question. I tried importing the model from Blender (few meshes exported together). Import it into three.js using THREE.Group(). I would like to be able to hide part of that model with a press of a button, so now I cannot get it to work to hide only one specific part of a model inside a group and outside load() function. I got it to work with Object3D() but that is a longer route as I would need to export each mesh separately from the Blender. So my question is how can I reference part of a model in a Group() outside load() function and hide it?
This is what works with Object3D(). So this is one object exported from Blender:

var torso = new THREE.Object3D();
        loader.load('models/character.gltf', function(gltf){
            torso = gltf.scene;
   = "torso"

        torso = scene.getObjectByName(;
        torso.visible = true;

Now I would like to do it but with a group. So I have torso and hair meshes in a group and would like to hide only hair. This is what I tried:

var group = new THREE.Group();
        var torso, hair1;
        loader.load('models/mesh.gltf', (gltf) => {
            torso = gltf.scene.getObjectByName('torso');
   = 'tor';
            hair1 = gltf.scene.getObjectByName('hair1');
            group.add(torso, hair1);
        torso =;
        torso.visible = true;

Could someone point me in the right direction? Thank you.

Probably the only way to hide something before it is asynchronously loaded, is to create a wrapping Group for each of this pending meshes, and toggle visibility of this groups.

scene <- visible = true, will be displayed
  groupTorso <- visible = true, will be displayed
    meshTorso <- visible = true (default), will be displayed after loaded
  groupHair <- visible = false, will not be displayed
    meshHair <- visible = true (default), will not be displayed after loaded, because parent group is hidden

Hello. Thank you for your advice. I will give that a look and try.