Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

111
Views
Exportar objeto después de resolver la promesa

Estoy usando "load" y "OBJloader" de loaders.gl/core y loaders.gl/obj para cargar una malla para exportarla como const para que otro módulo pueda usarla, actualmente estoy usando esto

 export const myMesh = Object.freez({ mesh : load(path_to_obj_file,OBJLoader), origin: [1.4,0,2.2], dimensions: [2,2,2], scale: 1 )}

pero luego descubro que puedo calcular el origen y las dimensiones desde el propio archivo obj sin necesidad de ponerlos manualmente (yo solía calcularlos desde meshlab), y puedo hacerlo desde la propia función de carga

 load(path_to_obj_file,OBJLoader).then((obj)=>{ console.log(obj.schema.metadata.get["boundingBox"] }

boundingBox sería así [[-1.4,-1,-2],[0.6,1,-0.2]] (los números no son exactos en absoluto). y puedo calcular el origen y las dimensiones desde el cuadro de delimitación.

mi pregunta es, ¿cómo puedo exportar el const myMesh ahora? ya que tengo promesa, también cuando escribimos:

 mesh : load(path_to_obj_file,OBJLoader)

¿Podría eso causar un problema ya que la carga devuelve una promesa? (actualmente funciona correctamente)

Lo intenté:

 export const loadMyMesh = load(path_to_obje_file,OBJLoader).then((obj) =>{ const myMesh = Object.freez({ mesh: obj, origin: calculateOrigin(obj), dimensions: claculateDim(obj), scale: 1 }); return myMesh })

donde calculeOrigin y calculeDim son funciones que se usan para obtener el cuadro delimitador y calcular el origen y las dimensiones, pero eso no funcionó.

entonces alguna solucion?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En mesh: obj , se supone que el valor es una promesa, por lo que si la promesa se usa como indicador de sincronización, puede ser un problema. Pero, en general, una promesa que produce un cierto valor y el valor mismo son equivalentes cuando se await . Como en, 2 == await 2 .

Una solución es hacer const myMesh = await loadmyMesh; en otros módulos.

Otra solución es un poco más complicada, pero de esta manera, no tienes que cambiar nada en los otros módulos. Solo tenga en cuenta que myMesh no se congela hasta que se realizan los cálculos.

 export const myMesh = { scale: 1, mesh: load(path_to_obj_file, OBJLoader).then(obj => { myMesh.origin = calculateOrigin(obj); myMesh.dimensions = calculateDim(obj); Object.freeze(myMesh); }) };
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!