Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

104
Vistas
Promise no puede completar el cálculo

Tengo una fórmula bastante fácil que no funciona dentro de Promise. El problema es el siguiente: independientemente de lo que ponga para los parámetros a y b, siempre obtengo un error, aunque claramente es más gracias a 0. Estoy bastante seguro de que me estoy perdiendo algo, pero no puedo entender qué es exactamente, porque con otra fórmula funciona (¿Quizás no puedo llamar a la función dentro de la Promesa? En ese caso, ¿cuál sería la otra manera?). Perdón por la pregunta de novato, soy nuevo en esto

 const pidr = new Promise((resolve, reject) => { const result = (a, b) => (a + b) ** 2 result(5, 6) if (result > 0) { resolve() } else { reject() } }) .then(() => console.log('Success')) .catch(() => console.error('Failure'))
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Debe crear una variable y establecer el resultado de la ejecución de la función. Vea abajo:

 const pidr = new Promise((resolve, reject) => { const result = (a, b) => (a + b) ** 2 const res = result(5, 6) if (res > 0) { resolve() } else { reject() } }) .then(() => console.log('Success')) .catch(() => console.error('Failure'))
about 4 years ago · Juan Pablo Isaza Denunciar

0

Este:

 result(5, 6);

llama a la función, pero no guarda el valor devuelto. Luego comparas el result (que es una función) con 0, y eso no tiene sentido.

En cambio:

 const answer = result(5, 6); if (answer > 0) { resolve() } else { reject() }
about 4 years ago · Juan Pablo Isaza Denunciar

0

result es una función y no tiene que serlo, pero si quieres que sea una función, puedes llamarla dentro de tu if , así:

 const pidr = new Promise((resolve, reject) => { const result = (a, b) => (a + b) ** 2 if (result(5, 6) > 0) { resolve() } else { reject() } }) .then(() => console.log('Success')) .catch(() => console.error('Failure'))
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda