Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能创建一个装饰师?_Javascript_Typescript_Generics_Decorator - Fatal编程技术网

Javascript 我怎样才能创建一个装饰师?

Javascript 我怎样才能创建一个装饰师?,javascript,typescript,generics,decorator,Javascript,Typescript,Generics,Decorator,我正在使用TypeScript编写一个Web API客户端。 我想使用一个装饰器,这样我可以简单地给出一个响应,但我不知道怎么做 一个例子 class Client { private hasError(statusCode: number): ResponseError | null { let Err; // some... return Err } private response<T>(res: AxiosResponse): T | Re

我正在使用TypeScript编写一个Web API客户端。 我想使用一个装饰器,这样我可以简单地给出一个响应,但我不知道怎么做

一个例子

class Client {
  private hasError(statusCode: number): ResponseError | null {
    let Err;
    // some...
    return Err
  }
  private response<T>(res: AxiosResponse): T | ResponseError {
    let err: ResponseError;
    if(err = this.hasError(res.status)) {
      return err;
    }
    return res.data as T
  }
  public async getSomeData(): Promise<SomeData | ResponseError> {
    return this.response<SomeData>(await axios.get("/api/endpoint"))
  }
}
类客户端{
private hasError(状态代码:number):ResponseError | null{
让我们犯错;
//一些。。。
返回错误
}
私人回应(res:AxiosResponse):T | ResponseError{
让错误:回应者错误;
if(err=this.hasrerror(res.status)){
返回错误;
}
将res.data返回为T
}
公共异步getSomeData():承诺{
返回此.response(等待axios.get(“/api/endpoint”))
}
}
我想用decorator编写这个响应方法

多谢各位