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

306
Vistas
TypeScript: devuelve el valor de la función de la función de devolución de llamada

Estoy usando el método de manejo de errores usando el tipo de Result , que publiqué en esta pregunta .

Usando el tipo Result , podría construir fácilmente una cadena de funciones como esta

 Result.combine(result1, result2) .onFailure(err => doSomethingOnFailure()) .onSuccess(val => doSomethingOnSuccess())

Este flujo se ve bien para mí, pero tengo un problema.

 function func(a, b) { // Some code above const result = Result.comine(aResult, bResult).onFailure(err => { // I want to return fail result to the func here but do not know how }).onSuccess(() => { // Do something on success }) // So I have to do a simple if check if (result.failure) { // Return fail result here } // Then do something on success here }

Quiero devolver el resultado fallido a la función principal dentro de la función onFailure .

¿Podría de alguna manera lograr esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En lugar de escribir dos métodos separados onFailure y onSuccess que simplemente ejecutan un efecto secundario y devuelven la instancia de Result en sí, use un método único para ambos controladores que devuelva el resultado de la llamada respectiva:

 handle<U>(onSuccess: (value: T) => U, onFailure: (error: string) => U): U { if (this.success) { return onSuccess(this._value); } else { return onFailure(this.error); } }
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