如何指示功能参数函数输入类型

发布于 2025-02-12 18:42:37 字数 397 浏览 2 评论 0原文

我是打字稿的新手。 我的函数将功能作为输入参数。此输入参数函数具有数字输入值。

preloadResources(informLoadPct: Function)
{
  let pct = 100;
  informLoadPct(pct);

}

我称此函数为这样

preloadResources((loadedPercentage: number) => {
  console.log(loadedPercentage);
});

,因为您可以看到功能参数是具有数字输入类型的函数。有没有办法定义这一点?

我们可以提供有关此功能的更多信息,而不是“ InformloadPct:功能”?

I am new to typescript.
I have a function that takes a function as an input parameter. This input parameter function has number input value.

preloadResources(informLoadPct: Function)
{
  let pct = 100;
  informLoadPct(pct);

}

I call this function like this

preloadResources((loadedPercentage: number) => {
  console.log(loadedPercentage);
});

as you can see the function parameter is a function that has number input type. Is there a way to define that also?

instead of "informLoadPct: Function" can we provide more information about this function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

向地狱狂奔 2025-02-19 18:42:37

你肯定可以。我最喜欢的方法是如下:

type NumberLogger = (n: number) => void;

function preloadResources(informLoadPct: NumberLogger )
{
  let pct = 100;
  informLoadPct(pct);

}

如果您需要在对象内传递此方法,则可以做同样的事情。

type NumberLogger = (n: number) => void;

type NumberLoggerProps = {
    logger: NumberLogger;
}

// or

type NumberLoggerProps = {
    logger: (n: number) => void;
}

// or

type NumberLoggerProps = {
    logger(n: number): void;
}

请参阅 typescript文档的更多信息。

You sure can. My prefered way is as follows:

type NumberLogger = (n: number) => void;

function preloadResources(informLoadPct: NumberLogger )
{
  let pct = 100;
  informLoadPct(pct);

}

If you ever need to pass this inside an object, you can do the same thing.

type NumberLogger = (n: number) => void;

type NumberLoggerProps = {
    logger: NumberLogger;
}

// or

type NumberLoggerProps = {
    logger: (n: number) => void;
}

// or

type NumberLoggerProps = {
    logger(n: number): void;
}

See more in the Typescript documentation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文