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?
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 variablepath
a la función de devolución de llamada:En este ejemplo, la variable
path
está definida en el ámbito externo, y se pasa a la funciónrequire
. La función de devolución de llamada tiene acceso a la variablepath
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.