Ho il seguente metodo di registrazione:tipografico opzionale tipo generico
private logData<T, S>(operation: string, responseData: T, requestData?: S) {
this.logger.log(operation + ' ' + this.url);
if (requestData) {
this.logger.log('SENT');
this.logger.log(requestData);
}
this.logger.log('RECEIVED');
this.logger.log(responseData);
return responseData;
}
Il requestData
è opzionale, voglio essere in grado di chiamare logData
senza dover specificare il tipo di S
quando io non mando il requestData
a il metodo: anziché: this.logData<T, any>('GET', data)
, voglio chiamare this.logData<T>('GET', data)
. C'è un modo per ottenere questo?
Forse sovraccaricare la funzione? O forse prova a usare un parametro predefinito. –
Non penso sia possibile sovraccaricare, se faccio qualcosa come 'private logData (operation: string, responseData: T)' e 'private logData (operazione: stringa, responseData: T, requestData: S)' I otterrà un errore di definizione della funzione duplicata –
Marius