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

323
Vistas
Ningún constituyente de tipo 'verdadero | CallableFunction' es invocable

El error completo:

 This expression is not callable. No constituent of type 'true | CallableFunction' is callable

Este es el código que estaba provocando el error:

 public static base( text, callB: boolean | CallableFunction = false, ) { const sw = Swal.fire({ text, }); if (callB) { sw.then(callB()); } }

Cambié el tipo de callB a:

 callB: (param: any) => void |boolean = false

y cuando elimino la definición de tipo callB:

 callB= false

me sale este error:

 This expression is not callable. Type 'Boolean' has no call signatures
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Esto es lo que estás buscando:

 function base(text: string, callB: false | CallableFunction = false) { console.log(text); if (callB) { callB(); } }

Esencialmente, desea pasar una función o false . Cuando es verdad, desea llamar a la función.

Pero según tu definición

 function base(text: string, callB: boolean | CallableFunction = false) { console.log(text); if (callB) { callB(); } }

esta sería una base('some str', true) donde callB es true y no una función que intentará ejecutar usando callB() . No booleano no es invocable, ¿verdad? De ahí el error.

Enlace de TS Playground: https://tsplay.dev/m056qW

about 4 years ago · Juan Pablo Isaza Denunciar

0

El tipo

 boolean | Function

es equivalente a

 true | false | Function

Ahora, debido a que un valor de tipo Function es verdadero, su verificación

 if (callB)

reduce el tipo de callB a

 true | Function

y true no es invocable, de ahí el error.

No está claro cómo debe usarse su método base , por lo que he esbozado dos soluciones:

Si true no es una entrada válida, ajuste su tipo de parámetro en consecuencia

 static base( text, callB: false | CallableFunction = false ) { if (callB) { callB(); } }

Si true es un caso que debe manejar, use una verificación condicional más precisa como

 if (typeof callB === 'function') { callB() // OK }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si usa false | Callablefunction (o boolean | CallableFunction ), puede forzar el tipo usando typeof :

 static base( text, callB: false | CallableFunction = false ) { if (typeof callB === "function") { callB() } }
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