我开始学习如何在我的应用程序中实现TypeScript装饰器。所以我从 setTimeout
开始。这是一个方法装饰器,它会在一段时间后执行该方法。
例如:
@Decorators.timeout()
public someMethod () {}
这是我的实现:
export class Decorators {
public static timeout (target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor<any>): any {
let originalMethod = descriptor.value;
let decArguments = arguments;
descriptor.value = function Timeout () {
setTimeout(() => {
originalMethod.apply(this, decArguments);
}, 2000);
};
return descriptor;
}
}
我收到的错误信息是:
提供的参数与调用目标的任何签名不匹配
可能的问题是什么?