首页 > 解决方案 > 从装饰器调用带有命名参数的 Typescript 方法

问题描述

我对 typescript 相当陌生,来自 java 并且仍在尝试进入 typescript。我正在尝试使用 typescripts 装饰器为带有 express 的休息服务编写一个小库。

@rest() //Not yet sure if i really need this
class RestCall{

    @get("/path")
    doSomething(id: number, name: string){
        console.log(id+": "+name);
    }
}

所以,每当 express 在“/path”上调用时,我想调用这个方法。我还想使用 get 请求中的参数调用该方法。我唯一的问题是以正确的顺序使用参数调用此方法,因为它也应该与此一起使用:

@rest() //Not yet sure if i really need this
class AnotherRestCall{

    @get("/path")
    doSomething(name: string, id: number){ //Not the same order as above
        console.log(id+": "+name);
    }
}

在第二类中,参数的顺序不同。我尝试了描述符和它的值,但我找不到按顺序获取参数列表(如果可能)的方法。

function get(path: string){
    return (target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor<any>): any =>{

    }
}

最糟糕的是,我不知道我应该实际搜索什么。在某种程度上,我想要来自打字稿的命名参数,但不是真的,因为它是在运行时执行的,所以只剩下 javascript。

也许我错过了一些基本的东西..

谢谢,

克里斯

标签: javascripttypescript

解决方案


推荐阅读