Higher-order функцию в ТС с дженериками https://spin.atomicobject.com/2019/01/11/typescript-higher-order-functions/
function logDuration<T extends (...args: any[]) => any>(func: T): (...funcArgs: Parameters<T>) => ReturnType<T> {
const funcName = func.name;
// Return a new function that tracks how long the original took
return (...args: Parameters<T>): ReturnType<T> => {
console.time(funcName);
const results = func(...args);
console.timeEnd(funcName);
return results;
};
}
У меня примерно такое же задание, только немного манипуляций с аргументами
Но тслинт настроен так, что стоит noImplicitAny. На что заменить возвращаемый функцией any в самом первом описании (где дженерик T) чтобы все заработало?
Попробуй unknown
https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABAGzgcwCIgE4ENYIA8AUIogAqICmAHlFWACYDOi4A1mHAO5gDaAXQA0pRACVqdBizZhOPMMQB8AClGhIALkQqAdPtzY0zTeQCUiALxLxxCwG9REBMyiINEAHK4AtlSvu4BC6YL5UxKIA9JHiVFA4SLiIYFTcgZAESFAAFviIUHgQ7KzZPCgIaPnZ-nDYMGgwocj5cHDsothxCTr6uobG2ubaEtaIjmRkzmDMcMhUurB+Kh7efmaiky5uncwgyFCslukQegZGzOsTiFMzcwswfgCiTMtBq1SXE53x2Eg7ewdRABfYgg4g3Ny4ZiMAKoTA4fDwMAqACy+Gyuh8uBoZgA3MQoYwVAByACMACYAMzE9ZAA
Спасибо, пришлось немного поправить под свои нужды, но все получилось
Обсуждают сегодня