具有Flow类型的JS-将泛型从咖喱函数的外部范围传递到内部范围

问题描述 投票:0回答:1

是否有将外部Key类型传递给内部Key和内部函数的参数的方法?

我需要所有这些类型都相同。

function getAudienceHelper<Key>(defintions: { [Key]: string }) {
  return function<Key>(
    prioritisedAudiences: Key[],
    ...

  ) {
      ...
  }
}

因此,当我调用getAudienceHelper时,我传入了一个字符串枚举类型AudienceKey,它直接流向了code中的其他函数

type AudienceDefs = { 
  AUDIENCE_1: string,
  AUDIENCE_2: string
}

const AUDIENCE_DEFS: AudienceDefs = { 
  AUDIENCE_1: 'audience_1'
  AUDIENCE_2: 'audience_2'
}

type AudienceKey = $Keys<typeof Audience>;

getAudienceHelper<AudienceKey>(AUDIENCE_DEFS)

我正在尝试解决类型,并想知道我是否过度键入了我的函数。它需要多严格?基本上,我想确保输入的任何内容(AudienceKey)与我从getAudienceHelper返回的类型相同。从流尝试代码中,getAudienceHelper必须在内部运行其他两个函数以返回相同类型的值。

generics flowtype currying
1个回答
0
投票

我通过删除第一个函数中的泛型并将参数更改为对象来解决此问题。

© www.soinside.com 2019 - 2024. All rights reserved.