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.

Cómo hacer una variable accesible en una función de devolución de llamada de requirejs.

Tengo un fragmento de código con requirejs:

var path = this.formatPath(path);
require([path], function (template) {

//....código aquí

});

Y me gustaría imprimir la ruta dentro de la función de devolución de llamada de requirejs.

Algo como esto

var path = this.formatPath(path);
require([path], function (template) {

//console.log(path)

});

Sin embargo, debido a que la función de devolución de llamada está en un ámbito diferente, no puedo acceder a ella.

¿Cómo puedo pasar la variable de la ruta en la función de devolución de llamada?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puedes utilizar una técnica llamada “closure” para pasar la variable path a la función de devolución de llamada. Un closure es una función que tiene acceso a las variables en el ámbito de su función externa (encapsulante). Aquí tienes un ejemplo de cómo puedes utilizar el closure para pasar la variable path a la función de devolución de llamada:

    var path = this.formatPath(path);
    require([path], function (template) {
      // La variable path ahora es accesible dentro de esta función
      console.log(path);
    });
    

    En este ejemplo, la variable path está definida en el ámbito externo, y se pasa a la función require. La función de devolución de llamada tiene acceso a la variable path a través del closure, por lo que puedes utilizarla dentro de la función.

    Utilizando esta técnica, puedes acceder a cualquier variable que esté definida en el ámbito externo desde la función de devolución de llamada.

Comments are closed.