Estoy desarrollando un proyecto ReactJS que requiere que se lea el texto de un archivo SVG en la carpeta Pública del directorio del proyecto, y luego que las matrices globales se completen con esta información para que otras funciones las utilicen. Puedo leer y analizar correctamente los datos con un método de búsqueda, pero cuando accedo a las variables globales después de ejecutar la función, no hay cambios. Sin embargo, al acceder a las variables globales desde el interior del método, los cambios están ahí, pero solo dentro del alcance del método fetch, que es el problema principal. ¿Cómo puedo configurar una variable global para los resultados de un método de búsqueda?
Aquí está la función: tenga en cuenta que nodesArrayX y nodesArrayY son las variables globales a las que necesito acceder y afectar globalmente fuera del alcance del método de búsqueda.
function readNodeData() { var coordsDisplay = document.getElementById("current-coords"); let testDataSet = []; fetch('/ccmNodetest.svg') .then(response => response.text()) .then(data => { testDataSet = data.split("\n") init() //PARSE DATA var nodeDataLines = data.split("\n") var nodeDataStart = nodeDataLines.findIndex(element => element.includes("inkscape:label=\"NODES\"")) nodeDataLines.splice(0,nodeDataStart) //coordsDisplay.innerText = nodeDataLines[0] var nodeDataParseCount = 1 while (nodeDataLines[nodeDataParseCount] != " </g>") { nodeDataParseCount += 3 var testingNodesData = nodeDataLines[nodeDataParseCount] testingNodesData = testingNodesData.substring(11) testingNodesData = testingNodesData.slice(0,-1) nodesArrayX.push(testingNodesData) nodeDataParseCount += 1 testingNodesData = nodeDataLines[nodeDataParseCount] testingNodesData = testingNodesData.substring(11) testingNodesData = testingNodesData.slice(0,-1) nodesArrayY.push(testingNodesData) nodeDataParseCount += 2 } //PARSE DATA }); function init() { console.log(testDataSet); } }En general, el problema principal es que puedo usar un método de búsqueda para acceder al archivo desde la carpeta Pública, leerlo, analizarlo y enviar las nuevas entradas a las matrices globales indicadas anteriormente. Sin embargo, después de ejecutar la función, los cambios no están presentes y solo están presentes cuando se llama a las variables dentro del alcance del método de búsqueda. Cualquier sugerencia sería muy apreciada, he estado atascado en esto durante mucho tiempo. ¡Gracias!