首页 > 解决方案 > 返回自身的函数的返回类型是什么?

问题描述

setInterval(
    (function func() /* :() => ??? */ {
        console.log(`I will be invoked immediately!`);

        return func;
    })(),
    10000
);

问候,我是 Typescript 的新手。

我曾经setInterval()在 JS 中使用这种方式,这样我就可以setInterval()立即调用回调函数,而不是在第一次运行前等待 10 秒。但是,当我现在搬到 TS 时,我不知道该放什么作为它的返回类型。我尝试使用anylike () => any,但似乎它可能会违反@typescript-eslint :的规则Missing return type on function.eslint(@typescript-eslint/explicit-function-return-type)

任何人都可以给我一些建议吗?提前致谢。

ps 我知道我使用的方式setInterval()可能不好,但我只是想摆脱这个。

标签: typescriptvisual-studio-codeeslinttypescript-eslint

解决方案


您可以完全按照 TS 定义的方式定义它:typeof func.

function func(): typeof func { ... }

这明确表示该函数返回一个具有自己签名的函数,因此它也具有表现力。


推荐阅读