具有扩展语法的两个定义的call方法

时间:2019-03-28 18:17:47

标签: javascript typescript

我正在尝试调用一个super方法,该方法的定义与此方法相同。

我这样称呼它:

return await super.chunk(...args)

但是,它给了我这个错误:

  

预期有2-3个参数,但有0个或更多。

因此,我试图键入传入的值,如下所示:

return await super.chunk(...args as [number, number | Function, Function?])

但这给了我这个错误:

  

'number |类型的参数“功能”不能分配给“数字”类型的参数。

     

类型“功能”不能分配给类型“数字”。

这是完整的内容:

  public async chunk(max: number, offset: number, callback: (results: any[]) => void): Promise<DB>
  public async chunk(max: number, callback: (results: any[]) => void): Promise<DB>
  public async chunk(...args: (number | Function)[]): Promise<DB> {
    this.table(this.$table)
    return await super.chunk(...args as [number, number | Function, Function?])
  }

无论如何,我是否可以调用super method而不必在带有不同参数的if语句中多次调用它?

TypeScript Playground

0 个答案:

没有答案