代码之家  ›  专栏  ›  技术社区  ›  nick zoum

在typings声明中将函数声明为参数

  •  0
  • nick zoum  · 技术社区  · 6 年前

    在我的 globals.d.ts 我导出多个函数,这些函数的参数也是函数。示例如下:

    /**
     * Does something
     * @param {function(string): void} bar - a parameter
     * @returns {void}
     */
    export function foo(bar: function(string): void): void;
    

    Eslint显示多个错误,说明: JSDoc types can only be used inside documentation comments. . 我试图通过从函数中移除类型并仅在注释中声明它们来修复此错误,但是参数的类型变为 any (*) . 我还尝试添加 "valid-jsdoc": "off" 规则在 .eslintrc.json 文件,没有成功。是否有方法在不丢失参数类型的情况下删除警告?

    1 回复  |  直到 6 年前
        1
  •  1
  •   cezn    6 年前

    不能将参数类型指定为 function(string): void . 在typescript中定义函数类型是错误的语法。
    而不是:
    export function foo(bar: function(string): void): void;
    做:
    export function foo(bar: (arg: string) => void): void;