如下图,自己在node.js中实现了一个用于记录错误的装饰器,然后发现装饰器能用在类或者类的方法中,而用在独立的方法中则会报错:Decorators are not valid here.ts(1206)
所以想请教下node.js中装饰器是否只能用于类或者类的方法上的呢
如下图,自己在node.js中实现了一个用于记录错误的装饰器,然后发现装饰器能用在类或者类的方法中,而用在独立的方法中则会报错:Decorators are not valid here.ts(1206)
所以想请教下node.js中装饰器是否只能用于类或者类的方法上的呢
在 Node.js 中,装饰器(Decorators)主要用于类和方法,而不能直接用于独立的函数上。这是因为装饰器是用于描述如何修改类的行为的特殊注解。
当你尝试将装饰器用于独立的函数时,TypeScript 会抛出一个错误,提示 "Decorators are not valid here"(装饰器在这里无效)。
要在 Node.js 中使用装饰器,你需要将它们应用于类或类的方法。以下是一个简单的示例:
import { decorator } from 'decorators';
class MyClass {
@decorator
myMethod() {
// do something
}
}
在这个例子中,装饰器 decorator
被应用于 myMethod
方法。当你调用 myMethod
时,装饰器会按照预期的方式修改其行为。
如果你希望在独立的函数中使用装饰器,你可能需要使用一些其他的技术或模式,例如将函数包装在一个对象的方法中,或者使用其他形式的函数修饰。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
是的,修饰函数你直接调用传入就行了
const test = LogError(function test() {})
https://github.com/tc39/proposal-decorators