繁体   English   中英

如何在 TypeScript 中引用回调的返回值类型

[英]How to reference type of return value of a callback in TypeScript

我有一个像这样的通用 function

function computedLastOf<T>(cb: () => T[]) : Readonly<Ref<T | undefined>> {
  return computed(() => {
    const collection = cb();
    return collection[collection.length - 1];
  });
}

它是一种宏,它为类型 T 的集合返回计算(反应)值。

但请注意第一个<T> 它需要此 function 的用户指定类型。 如果没有必要并且可以推断出来,那就太好了。 此处返回的值将始终是回调返回的集合的子项。

有没有办法像这样推断打字?

谢谢!

在调用通用 function 时,通常可以省略类型参数,从而对其进行推断。 这有时会失败,但最常见的情况是在更复杂的场景中,推断者不会了解某些细节,并且推断出过于宽泛的类型(有效,但不是有意的)。

尝试将其称为computedLastOf(arg)而不是用computedLastOf<someType>(arg)显式地给它一个通用参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM