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/valuesheets que se instancia con "hojas de trabajo".markpairs_object .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 emptyHe intentado:
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.