Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

209
Vistas
¿JS compilando información de Promesas en bucle? (con API de Tableau)

Estoy tratando de usar la API JS de Tableau https://help.tableau.com/current/api/js_api/en-us/JavaScriptAPI/js_api_ref.htm para recopilar todos los datos de cada objeto de "hoja de trabajo" para hacer algo más complejo comportamiento pero tengo problemas para entender cómo usar las promesas dentro de los bucles. He usado when().then() con ajax antes, pero no tengo mucha otra experiencia con promesas.

 Worksheet -> Marks -> Pairs -> key/value
  • Comienzo con una variable de objeto de sheets que se instancia con "hojas de trabajo".
  • Recorro cada "hoja de trabajo" para obtener las "marcas" que tienen "pares" de clave/valor de datos.
  • Guardo cada par de datos en otra variable de objeto markpairs_object .
  • La parte con la que tengo problemas es descubrir cómo usar la variable de objeto final markpairs_object porque siempre está vacía en el momento de la ejecución.
 sheets[window][section] = tableau "worksheets". markpairs_object = []; for(var section in sheets){ for(var window in section){ // ASYNC getting marks sheets[section][window].getSelectedMarksAsync().then(function(marks){ for(var markIndex=0; markIndex<marks.length; markIndex++){ var pairs = marks[markIndex].getPairs(); // I don't think this is ASYNC for(var pairIndex=0; pairIndex<pairs.length; pairIndex++){ var pair = pairs[pairIndex]; // save pair info to an overall object variable markpairs_object[pair.fieldName] = pair.formattedValue; } } }); } } //loop through object variable to make sure it worked whatever I do here shows empty

He intentado:

  • usando devoluciones de llamada
  • moviendo diferentes cosas a sus propias funciones pero no entendía cómo implementar await/async aquí
  • otro .then() después de getSelectedMarksAsync().then() pero eso solo obtendría los pares para una hoja de trabajo a la vez si funcionaba (no lo hizo)
  • creando variables de bandera para tratar de indicar cuándo se han guardado los datos de los pares

etc. pero el objeto siempre está vacío en el momento de la ejecución y no pude entender cómo hacer que esto funcione correctamente.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda