我是打字新手。我有一个函数,它接受一个函数作为输入参数。此输入参数函数有数字输入值。
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文档。