Tengo una función recursiva para leer datos y tengo algo de código Jquery en esa función. Mis datos:
const data = { name: "Quotes" children: [ { name: "Quotes/Quote - Quote 1 - 1", children: [], .... }, { name: "Quotes/Quote", children: [{..}, {...}, ...], .... }, { name: "Body", children: [{..}], .... }, ... ], ..... }Mi código:
// index.html <div id="label">Start parse data ...</div> // index.js function parseData(data) { $('#label').text(data.name); console.log(data.name); // I put console to track data ...... // my code to process if (data.children.length) { for (const childrenData of data.children) { parseData(childrenData); } } } const data = $.ajax(.....) // data return from ajax is above, parseData(data); $('#label').text("==== Done ====");El resultado, mi texto es "Iniciar análisis de datos...", después de unos segundos, cambia a "==== Listo ====". Mi expectativa es que cambie a data.name durante parseData().
He rastreado mi función recursiva por console.log() y los datos funcionan bien. 
He buscado en Internet y alguien dijo que lo puso en setTimeout() , pero NO sigue funcionando
setTimeout(() => $('#label').text(data.name), 0);