3

正如我所看到的,装饰器通常可以与类中的类和方法一起使用。有没有办法使用具有常规功能的装饰器,如下面的代码:

@myDecorator()
function someFunction() {
  // do something
}

someFunction(); // running the function with the decorator.
4

2 回答 2

3

不符合目前的提议。装饰独立函数、对象初始化器及其内容或其他东西很可能是后续提案,但当前提案仅允许装饰类及其内容。

于 2018-12-28T15:36:24.710 回答
2

根据当前提案,功能不支持装饰器

您可以使用简单的函数调用来获得类似的结果:

function myDecorator<Args extends any[], R>(fn: (...a: Args)=> R): (...a:Args) =>R {
    return function (...a: Args) {
        console.log("Calling");
        return fn(...a);
    } 
}
const someFunction = myDecorator(function () {
    console.log("Call");
});

someFunction(); 
于 2018-12-28T15:41:33.597 回答