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

175
Vistas
Usando la salida del proceso hijo globalmente

Para un proyecto, necesito incorporar una función Python backend con Javascript (código principal para un chatbot). Usando procesos secundarios, parece funcionar (cuando se usa 'node script.js'). Sin embargo, necesito acceder a los datos de la función python llamada. En este momento, todo lo que obtengo es el resultado. Traté de almacenarlo en la variable global, pero se muestra como 'indefinido'. ¿Hay alguna forma de acceder realmente a los datos para poder usarlos fuera de stdout.on?

Este es el código Javascript para ejecutar pythonscript:

 // Give a path to the QR scanner Python file const qrScannerPath = "python/qrCodeScanner.py" const base64Arg = "base64_2.txt" // Provide the '.exe' python file. If python is available as an 'environment varaible', then simply refer to it as 'python'" const pythonExe = "python" // Function to convert a utf-8 array to a string const utfConverter = function (data) { return String.fromCharCode.apply(String,(data)) } // let's us handle python scripts const spawn = require("child_process").spawn const scriptExe = spawn(pythonExe, [qrScannerPath, base64Arg]) // If all goes well, the program should execute the Python code let counterpartyData = {} scriptExe.stdout.on("data", function (data) { console.log("getting the Python script data...") let cp = JSON.parse(utfConverter(data)) counterpartyData = {... cp} //should store the data to the variable }); console.log(counterpartyData) // shows 'undefinied" // In case our python script cannot be run, we'll get an error scriptExe.stderr.on("data", (data) => { console.error("error : " + data.toString()) }); //logs error message scriptExe.on('error', (error) => { console.error('error: ', error.message); }); // Logs a message saying that our code worked perfectly fine scriptExe.on("exit", (code) => { console.log("Process quit with code : " + code) })

Si ejecuto este código con el nodo, la salida de 'counterpartyData' no está definida. Sin embargo, dentro de la salida estándar, en realidad imprime los datos que quiero.

Además, obtengo errores de importación de python cuando ejecuto la aplicación en Heroku :(.

¡¡Gracias de antemano!!

Feliz año nuevo y saludos alegres <3

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