typescript - 返回自身的函数的返回类型是什么?
问题描述
setInterval(
(function func() /* :() => ??? */ {
console.log(`I will be invoked immediately!`);
return func;
})(),
10000
);
问候,我是 Typescript 的新手。
我曾经setInterval()
在 JS 中使用这种方式,这样我就可以setInterval()
立即调用回调函数,而不是在第一次运行前等待 10 秒。但是,当我现在搬到 TS 时,我不知道该放什么作为它的返回类型。我尝试使用any
like () => any
,但似乎它可能会违反@typescript-eslint :的规则Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)
。
任何人都可以给我一些建议吗?提前致谢。
ps 我知道我使用的方式setInterval()
可能不好,但我只是想摆脱这个。
解决方案
您可以完全按照 TS 定义的方式定义它:typeof func
.
function func(): typeof func { ... }
这明确表示该函数返回一个具有自己签名的函数,因此它也具有表现力。
推荐阅读
- javascript - HTML 视频没有在部署的站点上播放,真的很不稳定
- visual-studio-code - VSCode 使用 CLI 与快捷方式打开时的不同权限(macOS Catalina)
- python - 手动实现python字符串实习
- python - 如何使用 Python 从 CSV 中指定多个文本分隔符
- android - Gradle 使用 api 定义依赖项,但在 api 配置和实现配置中都发现了依赖项
- angular - 从 API 提供一对多的正确方法?
- kotlin - Kotlin 递归反射
- python - python找到所有最佳匹配数组
- python - mod-wsgi 在使用 https 和大数据包发布期间挂起
- reactjs - 在 then 或 catch 方法中使用状态