当TsLint说"期望callSignature有一个typedef时,这是什么意思。"

时间:2014-08-23 06:33:03

标签: typescript

我的代码中有一个函数:

networkStop = (action: string = null) => {
    this.action[action] = false;
    this.net = false;
    this.netd = false;
}

我收到一条TsLint错误说:

Message 4   TsLint: expected callSignature to have a typedef.

有人可以解释这意味着什么吗?

3 个答案:

答案 0 :(得分:20)

“缺少类型定义”有关详细信息,请参阅:https://github.com/palantir/tslint/blob/master/src/rules/typedefRule.ts。基本上一些注释(因为callSignature)缺少一个函数。

可能是修复(明确指定返回类型):

networkStop = (action: string = null):void => {
    this.action[action] = false;
    this.net = false;
    this.netd = false;
}

答案 1 :(得分:4)

为避免生成错误。 在 tslint.json 文件中,编写如下代码:-

"typedef": [
  false,
  "call-signature"
],

tslint.json中的这一行代码不要求返回方法的类型。

答案 2 :(得分:2)

就我而言,解决方法是添加评论

// tslint:disable-next-line:typedef

在错误行之前