泛型函数继承键值

时间:2019-02-24 18:35:51

标签: javascript typescript

我具有以下功能签名:

duplicationValidatorAsync<T, K extends keyof T>(
    obsArray: Observable<T[]>,
    key: K,
    equalityFn: EqualityFn = null
)

调用此函数时,我两次指定了键:

duplicationValidatorAsync<Organization, 'name'>(obs$, 'name', CommonValidators.caseInsensitiveTrimEqualityFn)

是否有一种方法可以避免这样做?能够调用此函数并使key参数从签名的通用部分继承其值将是很好的选择。

1 个答案:

答案 0 :(得分:2)

您可以直接使用keyof T

duplicationValidatorAsync<T>(
// Removed K here ---------^
    obsArray: Observable<T[]>,
    key: keyof T,
// Use --^^^^^^^
    equalityFn: EqualityFn = null
) {
    // ...
}