setInterval(
(function func() /* :() => ??? */ {
console.log(`I will be invoked immediately!`);
return func;
})(),
10000
);
问候,我是Typescript的新手。
我曾经setInterval()
在JS中以这种方式使用,因此我可以setInterval()
立即调用callback函数,而不是在第一次运行之前等待10秒。但是,当我现在搬到TS时,我不知道在这里放置什么作为其返回类型。我尝试使用any
like () => any
,但是似乎可能违反了@ typescript-eslint的规则:Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)
。
有人可以给我一些建议吗?提前致谢。
ps我知道我使用的方式setInterval()
可能不好,但是我只是想摆脱这种情况。
我会避免使用任何在所有情况下都强制使用显式类型的lint规则,或者至少在这种情况下,我可能会禁用它。
如果您按原样保留该函数,则Ts将正确推断返回类型。
如果要说明,可以使用递归类型:
type Fn = () => Fn;
setInterval(
(function func() : Fn {
console.log(`I will be invoked immediately!`);
return func;
})(),
10000
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句