具有多个长度元组的重载函数的Typescript实现签名

具有多个长度元组的重载函数的Typescript实现签名,typescript,tuples,overloading,es6-promise,typescript-generics,Typescript,Tuples,Overloading,Es6 Promise,Typescript Generics,考虑定义以下内容的接口: all(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike,T6 | PromiseLike,T7 | PromiseLike,T8 | PromiseLike,T9 | PromiseLike,T10 | PromiseLike]):承诺; 所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | Prom

考虑定义以下内容的接口:

all(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike,T6 | PromiseLike,T7 | PromiseLike,T8 | PromiseLike,T9 | PromiseLike,T10 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike,T6 | PromiseLike,T7 | PromiseLike,T8 | PromiseLike,T9 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike,T6 | PromiseLike,T7 | PromiseLike,T8 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike,T6 | PromiseLike,T7 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike,T6 | PromiseLike]):承诺;
全部(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike,T5 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike,T4 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike,T3 | PromiseLike]):承诺;
所有(值:只读[T1 | PromiseLike,T2 | PromiseLike]):承诺;
所有(值:只读(T | PromiseLike)[]):承诺;

满足所有这些重载的方法是什么?
函数所有(值)
函数所有(…值)
都不起作用。

您所说的实现签名是什么意思?如果不是内置的,则类似于
all(values:any[]):any
。实现签名是重载中提供的最终签名,必须包含所有签名:@MingweiSamuel的
all(values:any[]):any到目前为止正在工作。奇怪的是,
函数所有(…值)
没有——我认为这两者实际上是一样的。
fn(…值:any[])
会接受
fn(a,b,c,d)
,不是我们想要的,而是
fn(值:any[])
会接受
fn([a,b,c,d,])
——我们想要的单个数组参数。你也可以做一些奇怪的解包,比如
fn([…values]:any[])
,但那是毫无意义的。