【发布时间】:2018-06-27 04:21:19
【问题描述】:
我在 Typescript 中尝试函数重载,但出现以下错误:
错误:(2, 5) TS2394: 重载签名与函数实现不兼容。
我不明白如何解决此错误。任何帮助将不胜感激。
create(key: string | TextKeys, reKey: string | TextKeys, params?: ObjectLiteral<string>, subkeys?: { [key: string]: string }, selector?: Selector): Either<EError, (AOutput | ROutput)[]>;
create(key: string | TextKeys, params?: ObjectLiteral<string>, subkeys?: { [key: string]: string }, selector?: Selector): Either<EError, AOutput>;
create(key: string | TextKeys, reKey?: string | TextKeys, params?: ObjectLiteral<string>, subkeys?: { [key: string]: string }, selector: Selector = selectRandom) {
const output: Either<EError, AOutput> = this.createAOutputs(key, params, subkeys).map(selector);
if (reKey !== undefined) {
return List.fromArray([output, this.createROutputs(reKey, params, subkeys)]).sequenceEither<EError, AOutput | ROutput>().map(arr => _.flatten(arr.toArray())) as Either<EError, (AOutput | ROutput)[]>;
} else {
return output;
}
}
【问题讨论】:
标签: typescript