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

160
Visualizações
Sintaxis confusa de la función Javascript

Estoy un poco confundido con el siguiente código. Obviamente es una función de dos flechas escrita en código es6 pero no entiendo exactamente algunas partes.

  1. ¿El segundo parámetro llamado done es una función vacía que no hace nada? ¿O se ejecuta con un simple return como resultado de la función anónima de la segunda flecha?

  2. XXXX.load es una función de promesa que devuelve algunos resultados. ¿Cómo la persona que llama al Index puede obtener los resultados del segundo parámetro done , es decir done(null, result) ?

  3. ¿Cuál es el código equivalente en es5?

 const Index = (name, done = () => {}) => (dispatch, getState) => { return XXXX.load() .then((result) => { dispatch({type:OK}); done(null, result); }) .catch((error) => { dispatch({type:ERROR}); done(error); }); };
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Vamos uno por uno:

  1. Index (name, done = () => {}) define un valor predeterminado para done en caso de que no se proporcione ninguno cuando se llama a Index . Esto ayuda en el camino a no hacer ningún control en caso de que done sea nulo/indefinido. También podrías escribirlo así.
 const Index = (name, done) => (dispatch, getState) => { if (!done) { done = () => {} } }
  1. La persona que caller simplemente pasará una función como segundo argumento cuando llame a Index .

Una nota general: Index en realidad devuelve una función que esperará un dispatch y/o un getState .

about 4 years ago · Juan Pablo Isaza Relatório

0

¿El segundo parámetro llamado done es una función vacía que no hace nada?

Es un parámetro. Toma cualquier valor que le des.

El valor predeterminado , que se asigna si la persona que llama no pasa un segundo argumento, es una función que no hace nada. Esto le permite ser llamado sin arrojar un error de función indefinido o tener una prueba explícita para ver si es una función o no.

¿Cómo la persona que llama al índice puede obtener los resultados del segundo parámetro hecho, es decir, hecho (nulo, resultado)?

Pasando su propia función como segundo argumento.

¿Cuál es el código equivalente en es5?

 var Index = function(name, done) { if (!done) done = function() {}; return function(dispatch, getState) { return XXXX.load() .then(function(result) { dispatch({ type: OK }); done(null, result); }) .catch(function(error) { dispatch({ type: ERROR }); done(error); }); } };
about 4 years ago · Juan Pablo Isaza Relatório

0

  1. La función vacía es un valor predeterminado para done . Los valores predeterminados evitan bloqueos en el tiempo de ejecución.

2 y 3 se pueden entender al ver el siguiente código: (simplemente ejecútelo y vea las consolas.

 const DEFAULT_FUNCTION_VALUE = ()=> {}; const XXXX = { load: function() { return new Promise(function(resolve, reject) { setTimeout(function() { resolve({data: 'from XXXX.load'}); },2000); }); } } const Index = function(name='', done=DEFAULT_FUNCTION_VALUE) { return function(dispatch, getState) { return XXXX.load().then(function(result) { console.log({result}); done(result); }).catch(function(error) { console.log(error); }); } } function doneImplementation(data) { console.log('Data from done- ', data); } Index('', doneImplementation)();
about 4 years ago · Juan Pablo Isaza 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