Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

307
Views
Cómo definir el tipo para una devolución de llamada de función (como cualquier tipo de función, no universal) utilizada en un parámetro de método

Actualmente tengo definición de tipo como:

 interface Param { title: string; callback: any; }

Necesito algo como:

 interface Param { title: string; callback: function; }

pero el segundo no está siendo aceptado.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

La Function de tipo global sirve para este propósito.

Además, si tiene la intención de invocar esta devolución de llamada con 0 argumentos e ignorará su valor de retorno, el tipo () => void coincide con todas las funciones que no toman argumentos.

over 4 years ago · Santiago Trujillo Report

0

Typescript de v1.4 tiene la palabra clave type que declara un alias de tipo (análogo a typedef en C/C++). Puede declarar su tipo de devolución de llamada así:

 type CallbackFunction = () => void;

que declara una función que no toma argumentos y no devuelve nada. Una función que toma cero o más argumentos de cualquier tipo y no devuelve nada sería:

 type CallbackFunctionVariadic = (...args: any[]) => void;

Entonces puedes decir, por ejemplo,

 let callback: CallbackFunctionVariadic = function(...args: any[]) { // do some stuff };

Si desea una función que tome un número arbitrario de argumentos y devuelva cualquier cosa (incluido el vacío):

 type CallbackFunctionVariadicAnyReturn = (...args: any[]) => any;

Puede especificar algunos argumentos obligatorios y luego un conjunto de argumentos adicionales (digamos una cadena, un número y luego un conjunto de argumentos adicionales) así:

 type CallbackFunctionSomeVariadic = (arg1: string, arg2: number, ...args: any[]) => void;

Esto puede ser útil para cosas como los controladores de EventEmitter.

Las funciones pueden escribirse con la fuerza que desee de esta manera, aunque puede dejarse llevar y encontrarse con problemas combinatorios si intenta definir todo con un alias de tipo.

over 4 years ago · Santiago Trujillo Report

0

A raíz de la respuesta de Ryan, creo que la interfaz que está buscando se define de la siguiente manera:

 interface Param { title: string; callback: () => void; }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!