JavaScript - Guardar el valor de una variable fuera de una función (creo que) asíncrona

 
Vista:
Imágen de perfil de Jhon
Val: 2
Ha aumentado su posición en 5 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Guardar el valor de una variable fuera de una función (creo que) asíncrona

Publicado por Jhon (2 intervenciones) el 21/11/2022 20:25:37
Cordial saludo.

Mi problema es específicamente usando three.js pero siento que mi problema es que no sé usar correctamente este tipo de funciones así que confío en que cualquier programador experimentado en JS me eche una mano aunque no sepa particularmente de tree.js.

la cosa es que he estado creando mis escenarios, luces, etc, en archivos y clases aparte que voy llamando mediante import en un (vano) intento de mantener un código prolijo.
Todo ha ido bien excepto con el modeo 3D que debo cargar en mi escenario.

Si lo hago así todo funciona:

1
2
3
4
5
6
7
8
9
10
11
12
let mixer;
let clock = new Clock();
let run;
gltfLoader.load(model.knight, (gltf) => {
    const root = gltf.scene;
    mixer = new AnimationMixer(gltf.scene);
    run = mixer.clipAction( gltf.animations[2] );
    run.play();
 
    scene.add(root);
 
});

Pero si pongo el run.play() fuera del gltfLoader me dará error porque, como ya se habrán dado cuenta, fuera de esa función run nuevamente queda indefinido como cuando lo inicialicé.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const gltfLoader = new GLTFLoader();
let mixer;
let clock = new Clock();
let run;
gltfLoader.load(model.knight, (gltf) => {
    const root = gltf.scene;
    mixer = new AnimationMixer(gltf.scene);
    run = mixer.clipAction( gltf.animations[2] );
 
 
    scene.add(root);
 
});
run.play(); //Aquí run.play no está definido

QUisiera saber si hay alguna forma de guardar a run en una variable que pueda exportar para luego hacer import en mi script principal y desde ahí hacer el run.play.

¿Alguna sugerencia?
Gracias de antemano, gente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Guardar el valor de una variable fuera de una función (creo que) asíncrona

Publicado por Alejandro (532 intervenciones) el 22/11/2022 16:04:09
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Intenta cambiar let por var.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar