2

@typescript-eslint我在尝试定义由函数返回的对象内的函数的返回类型时,遇到了来自 ESLint 的错误错误。

例如,我们有一个函数返回一个具有如下函数的对象:

const createStuff = (): StuffReturn => {
    return {
        doStuff: () => { // here ESLint will throw a warning
            return;
        },
    };
};

现在,当我StuffReturn为这个函数的返回类型定义接口时......

interface StuffReturn {
    doStuff: () => void;
}

...然后在命令行上运行 ESLint,我收到以下错误:

13:18 warning  Missing return type on function  @typescript-eslint/explicit-function-return-type

也许我应该为此在 GitHub 上创建一个问题,但我不确定它是否真的是一个错误,或者我错过了这种行为的一些更深层次的含义。

4

1 回答 1

1

您必须允许在您的输入函数表达式eslintrc

"rules": {
  "@typescript-eslint/explicit-function-return-type": ["error", {
    "allowTypedFunctionExpressions": true
  }],
}

这将允许在函数表达式的变量上进行类型注释,而不是像文档中所述直接在函数上进行类型注释。

注意:如果您使用的是typescript-eslintv2 或更高版本,则true默认情况下会使用此选项。

于 2019-12-11T09:06:06.047 回答