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

243
Visualizações
Ejecutar condicionalmente promesas en Promise.all()

Tengo 2 promesas que toman en la entrada 2 parámetros diferentes:

 promise1(var1) promise2(var2)

Estas promesas se ejecutan en paralelo dentro de Promise.all():

 Promise.all([promise1(var1), promise2(var2)])

A veces, dependiendo del valor de var1 o var2, solo necesito que se ejecute uno de ellos. Por ejemplo, si var1 es nulo, solo quiero

 Promise.all([promise2(var2)])

O, si var2 es nulo:

 Promise.all([promise1(var1)])

¿Existe una forma elegante de codificar esta situación sin bifurcaciones if, else?

about 4 years ago · Santiago Gelvez
3 Respostas
Responde à pergunta

0

se puede hacer con el argumento de matriz de creación dinámica de promise.all.

 var promises=[]; if(var1==null) promise.push(promise2(var2)); if(var2==null) promise.push(promise1(var1)); Promise.all(promises);
about 4 years ago · Santiago Gelvez Relatório

0

¿Por qué crees que if .. else no es elegante? En muchas situaciones, es el código más legible y, por lo tanto, en mi humilde opinión, es mejor que algunos oneliner "bien construidos", que ya no entenderá la próxima vez que lo lea.

Personalmente, haría una matriz e insertaría las diversas promesas en esa matriz en función de las condiciones. Y luego, finalmente, haga una Promise.all con esta matriz. En mi opinión, esta es la forma más legible y elegante de hacer esto.

 let promises = []; if (val1) promises.push(promise1(val1)); if (val2) promises.push(promise1(val2)); Promise.all(promises);
about 4 years ago · Santiago Gelvez Relatório

0

Promise.all([ var1 ? promise1(var1) : Promise.resolve(null), var2 ? promise2(var2) : Promise.resolve(null), ]);
about 4 years ago · Santiago Gelvez 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