我有两个职能:func1()
和func2()
func1()
在func2
内被调用。来自func1()
的返回值作为func2()
的返回值返回。
func2() {
return func1()
}
func1()
的返回类型为
interface Func1 {
[key: string]: unknown
}
func2()
的返回类型为
interface Func2 {
my_key: string;
}
func2()
抱怨func1()
的返回值不包含键my_key
。在我看来,有一个键是string
。unknown
值应该与更具体的string
一起工作。这显然不是真的。
有没有办法在不列出func2()
的返回值中所需的每个键的情况下解决这个问题?func1
在许多不同的函数中使用,这些函数具有许多不同的、更具体的返回类型。我需要它非常通用。
1条答案
按热度按时间rwqw0loc1#
不,你不能修复这个没有列出的关键你需要在这种情况下。
一种可能的解决方案是令
Func1
扩展Func2
:但
func1
和func2
的逻辑可能不正确。如果此解决方案在您的代码中没有意义,则需要提供更多详细信息。部分详细信息:
键
[key: string]
表示有一些键是字符串但不确保有一个名为my_key
的键unknown
值不能分配给任何“已知”类型,如string
、number
...,如果要禁用所有类型检查,应使用any
而不是unknown
。