Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Almacenamiento de funciones y sus parámetros en una matriz para llamar más tarde

Me gustaría almacenar varias funciones y sus parámetros en una matriz que luego repetiré y ejecutaré. Al poner los paréntesis alrededor de los parámetros, la función se ejecuta inmediatamente y su valor de matriz se vuelve indefinido. Me gustaría evitar que esto suceda y llamar a la función (con su(s) parámetro(s)) más adelante. Aquí hay un ejemplo de lo que estoy tratando de lograr ...

 function getTableAssignments(callbacks) { $.ajax({ method: "POST", datatype: "jsonp", url: base_url + "users/getTableAssignments/" + event_id }).done(function (data) { tables = data; if (callbacks.length > 0) { $.each(callbacks, function (i, v) { v(); }); } }); } getTableAssignments([func1(param1, param2), func2, func3(param3)]);
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Almacenar los parámetros es el problema. Aquí se explica cómo almacenar las referencias a funciones:

 getTableAssignments([func1, func2, func3]);

Aquí se explica cómo vincular los parámetros a las funciones antes de la ejecución. Esto devuelve una nueva función. Hay otras formas de hacerlo, pero creo que esta sería la más sencilla.

 var boundFunc1 = func1.bind(null, param1, param2); var boundFunc3 = func3.bind(null, param3); getTableAssignments([boundFunc2, func2, boundFunc3]);

También puede almacenar sus parámetros en un objeto como matrices y buscar esos parámetros almacenados con el nombre de la función, pero eso parece complicado, por lo que no explicaré ese método (y requeriría que cambie la llamada para codificar la búsqueda Los parametros).

Si no has leído sobre bind, te recomiendo este video

over 4 years ago · Santiago Trujillo Relatório

0

Necesitas usar expresiones de función:

 getTableAssignments([ function() {func1(param1, param2); }, func2, function() {func3(param3); } ]);
over 4 years ago · Santiago Trujillo Relatório

0

Creo que las funciones de flecha serían una forma ingeniosa de hacer esto:

 function func1 (param) { console.log("func1 : " + param); } function func2 () { console.log("func2"); } function func3 (param1, param2) { console.log("func3 : " + param1 + ", " + param2); } function executeFunctions(funcs) { for (var i = 0, len = funcs.length; i < len; i++) { funcs[i](); } } favorateParam = "bob"; executeFunctions([ ()=>func1("dad"), ()=>func2(), ()=>func3("jane",favorateParam) ]);

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda