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

331
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 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