繁体   English   中英

我应该怎么做才能在Class属性方法上使用函数接口

[英]What should I do to use function interface on Class property method

如您所见,在请求类中,有get(),put(),delete(),post()方法,并且每个方法都有很多参数。 所以我只想使用一个界面。

interface fetchParam {
  (
    url: string,
    params?: string | object | [],
    alwaysBack?: boolean,
    options?: object,
    resolveResult?: boolean,
  ): {}
}

class Request {
  constructor() {}

  fetchApi(url, method, params, alwaysBack, options, resolveResult) {
     return new Promise((res, rej) => { 
       // do somthing
     })
  }

  get(url, params, alwaysBack, options, resolveResult) {
    return this.fetchApi(url, 'get', params, alwaysBack, options, resolveResult)
  }

  post(url, params, alwaysBack, options, resolveResult) {
    return this.fetchApi(url, 'post', params, alwaysBack, options, resolveResult)
  }

  put(url, params, alwaysBack, options, resolveResult) {
    return this.fetchApi(url, 'put', params, alwaysBack, options, resolveResult)
  }

  delete(url, params, alwaysBack, options, resolveResult) {
    return this.fetchApi(url, 'delete', params, alwaysBack, options, resolveResult)
  }


}

我不想这样,太麻烦了

get(url: string, params?: string | object | [], alwaysBack?: boolean) {
    // do somthing
}

所以我该怎么做?

我的想法是将其包装到一个对象中

get({ url, params, alwaysBack }: fetchParam) {
// do something
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM