有没有办法通过装饰器处理装饰函数的后执行?

时间:2020-07-16 23:32:20

标签: typescript class javascript-decorators

我很难为Typescript中的Decorators包裹我的头。我本质上想做的是拥有一个装饰器函数,该函数将另一个函数作为参数,然后基于装饰的fn的响应,装饰器运行传递的回调。无论是否可行,我都找不到确切的答案。我看到的大多数示例实际上都是在装饰方法之前 之前运行装饰器功能。

到目前为止,我所拥有的(不起作用)是:

function postDecorator(func) {
        return (target: any, key: string, descriptor: any) => {
            const originalMethod = descriptor.value;
            descriptor.value = function(...args: any[]) {
                let original = originalMethod.apply(this, args);
                // do some logic and execute func()
                return original
            };
            return descriptor;
        };
}

然后当然,很可能会附加到某种类方法上

Class Example {


  @postDecorator(func)
  hello() {
     ...
  }
}

非常感谢!

0 个答案:

没有答案