Декораторы для функций - PullRequest
0 голосов
/ 28 декабря 2018

Как я вижу, декораторы обычно могут использоваться с классами и методами внутри классов.Есть ли способ использовать декораторы с обычными функциями, как в коде ниже:

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

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

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Декораторы не поддерживаются в функциях согласно текущему предложению

Вы можете получить аналогичный результат, используя простой вызов функции:

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(); 
0 голосов
/ 28 декабря 2018

Не с текущим предложением .Декорирование автономных функций, инициализаторов объектов и их содержимого или других вещей вполне может быть последующим предложением, но текущее предложение позволяет только украшать классы и их содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...