typescript - 如何在`typescript`中的箭头函数上设置`decorator`?
问题描述
typescript
我在下面的代码中创建了一个装饰器:
const measure = (
target: Object,
propertyKey: string,
descriptor: PropertyDescriptor
) => {
const originalMethod = descriptor.value;
descriptor.value = function (...args) {
const start = performance.now();
const result = originalMethod.apply(this, args);
const finish = performance.now();
console.log(`Execution time: ${finish - start} milliseconds`);
return result;
};
return descriptor;
};
它适用于 afunction method
但不适用于arrow function
.
下面是我的箭头函数的一个例子:
@measure
const underTest = () => {
...
}
它无法编译,因为第三个参数descriptor: PropertyDescriptor
不是可选的。我知道箭头函数被认为是一种属性而不是一种方法,所以我可以通过将第三个参数声明为可选来使其编译:descriptor?: PropertyDescriptor
。但我不知道如何在我的装饰器中调用箭头函数。
解决方案
推荐阅读
- python - Big white square while loading video kivy
- javascript - 如何将 p5.js 导入 TypeScript?
- angular - Angular Library : Material Menu : Error: Export of name 'matMenu' not found
- c++ - C++ / objective c thread call losing parameter
- sql - 加入两列中的任何一列,但不能同时加入
- python-3.x - 如何在 matplotlib 中为子图设置快速十字光标?
- windows - 如何根据批处理文件中的CRC32检查文件是否存在
- c# - 使用条件选择和汇总 DataTable 行
- asp.net-core - 如何使用 msys2 和单声道从 xUnit 项目创建“.dll”文件?
- sql - 获取 MS SQL Server 中多个 JSON 字符串中数组中多个 Int 的计数