Я пробую декораторы, я написал декоратор, который в основном возвращает новую функцию, которая делает `console.log.
Вот как выглядит мой декоратор:
function test(target, name, descriptor) {
const original = descriptor.value;
console.log("bbau");
if (typeof original === 'function') {
descriptor.value = function (...args) {
console.log(`Arguments: ${args}`);
try {
console.log("executing");
const result = original.apply(this, args);
console.log("done");
console.log(`Result: ${result}`);
return result;
} catch (e) {
console.log(`Error: ${e}`);
throw e;
}
}
}
return descriptor;
}
И вот как я это использую:
class TestController extends BaseController<//..> {
// ...
@test
testIt(req: Request, res: Response) : Response {
this.sendResponse();
}
sendResponse(options: ISendResponseOptions, res: Response) : Response {
// return response
}
}
`` Однако при выполнении возникает ошибка: Error: TypeError: Cannot read property 'sendResponse' of undefined
.
Есть мысли о том, что это может быть?Спасибо!