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



我是打字新手。我有一个函数,它接受一个函数作为输入参数。此输入参数函数有数字输入值。

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

我像这样调用这个函数

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

如您所见,函数参数是一个具有数字输入类型的函数。有没有一种方法来定义它?

代替">informLoadPct: Function";我们能提供更多关于这个函数的信息吗?

你当然可以。我的首选方式如下:

type NumberLogger = (n: number) => void;
function preloadResources(informLoadPct: NumberLogger )
{
let pct = 100;
informLoadPct(pct);
}

如果你需要在对象内部传递this,你可以做同样的事情。

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

更多内容见Typescript文档。

相关内容

  • 没有找到相关文章

最新更新