当尝试在由函数返回的对象中定义函数的返回类型时,使用@typescript-eslint
遇到了来自ESLint的错误错误。 / em>。
例如,我们有一个函数返回一个具有以下函数的对象:
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上创建一个问题,但是我不确定这是否是一个错误,或者我从此行为中缺少更深层的含义。
答案 0 :(得分:1)
您必须在eslintrc
中允许键入函数表达式:
"rules": {
"@typescript-eslint/explicit-function-return-type": ["error", {
"allowTypedFunctionExpressions": true
}],
}
这将允许在函数表达式的变量上进行类型注释,而不是像docs中所述直接在函数上进行注释。
注意:如果您使用的是
typescript-eslint
v2或更高版本,则默认情况下此选项为true
。