我有一个常量对象类型,它的值类型是函数,我想通过这个类型得到另一个常量对象类型,并将函数的返回值类型改为Promise类型。
const CONST_METHOD_MAP = {
ready: (str: string) => str,
b: (num: number) => num,
c: () => Promise.resolve(1)
} as const
需要
第一次
原因是我想把一些函数转换成web worker函数,所以CONST_ METHOD_ MAP是我配置的想要转换成web worker的同步函数的集合,所以我的funcMap值的内容是调用web worker的函数,所以它的返回值会从同步变成异步,然后因为我的funcMap是从常量对象生成的,其类型也应该是常量类型
我想构建一个常量对象类型。当我调用funcMap Ready ready的参数类型是Parameters〈类型的CONST_ METHOD_ MAP ['ready']〉,而不是Parameters〈类型的CONST_ METHOD_ MAP [类型的CONST_METHOD_MAP]〉,由于这个函数将使用Web工作器来执行逻辑,它的返回值是异步的,我希望函数Mapready的返回值类型是Promise而不是Promise
1条答案
按热度按时间btxsgosb1#
CONST_METHOD_MAP
是常数,不是型别,如果没有typeof
,就无法将它当做型别使用所以你需要做的就是使用
typeof
,当你使用CONST_METHOD_MAP
时,你也使用K
(大写),这就是为什么你的类型不正确,使用小写的k
,它会工作