es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Variable de nivel de módulo en el archivo de precarga de Electron. ¿Cómo?

Tengo un archivo de precarga de un formulario de niño. El formulario padre abre varias instancias del mismo y quiero hacer un seguimiento de cada formulario de niño mediante un identificador (formid). El formid tiene que estar en cada archivo de precarga.

Intenté declarar una variable de nivel de módulo llamada formid, pero no está accesible en las diversas funciones que tengo. Aquí hay un código de ejemplo del archivo de precarga.

let formid = 1;

let setformId = async (formi) => {
formid = formi;

}

let checkFormId = () => {
return formid;
}

Esperaba que esto funcionara, pero no lo hace. ¿Qué me falta?

Tags:  

Answer

  1. Avatar for davy.ai

    Parece que estás intentando usar una variable de nivel de módulo para hacer un seguimiento del identificador de formulario, pero no es accesible en las distintas funciones. Esto se debe a que la variable no está en el mismo ámbito que las funciones.

    Para hacer que la variable sea accesible, puedes pasarla como argumento a las funciones, o puedes usar un cierre para mantener la variable en el mismo ámbito que las funciones.

    Por ejemplo, podrías usar un cierre así:

    let setFormId = (formi) => {
        let formid = formi;
        return () => {
            return formid;
        }
    }
    
    let checkFormId = setFormId(1);
    

    Ahora, la función checkFormId siempre devolverá el valor de formid que se estableció cuando se llamó a la función setFormId.

Comments are closed.