Cómo declarar correctamente el tipo para una función callback en TypeScript
¡Hola a todos! Recientemente empecé a estudiar TypeScript y me encontré con un problema al definir tipos para funciones callback.
Tengo una función que acepta un callback y lo llama después de procesar algunos datos. Aquí hay un ejemplo simplificado:
```typescript
function processData(data: string, callback) {
const result = data.toUpperCase();
callback(result);
}
```
TypeScript se queja de `callback` — dice que el parámetro tiene implícitamente el tipo `any`. Entiendo que necesito especificar explícitamente el tipo para callback, pero no sé cómo hacerlo correctamente.
He probado diferentes opciones, por ejemplo:
```typescript
function processData(data: string, callback: Function) {
// ...
}
```
Pero esto funciona, aunque no da control sobre qué argumentos acepta el callback y qué devuelve. Por ejemplo, quiero que el callback acepte un string y no devuelva nada (void). ¿Cómo describir esto correctamente?
También me interesa saber cómo manejar callbacks opcionales (cuando pueden no estar presentes) y cómo pasar c