如何定义一个在jsdoc中使用扩展参数的回调?

时间:2019-04-08 17:05:56

标签: javascript jsdoc

我正在尝试在jsdoc中定义一个具有可变数量参数的回调,但是我的linter告诉我,至少应该有一个参数,但是给出了0。

  /**
   * This is the listen equivelant for rabbit.log()
   * It uses this.listen(LOG_CHANNEL) to recieve logs
   * @param {function(...*):*} callback This gets called with the params from rabbit.log
   */
  async listenLogs(callback) {
    return await this.listen(LOG_CHANNEL, data => callback(...data));
  }

编辑1: 根据要求:this.listen:

/**
   * To listen for a topic call this .
   * @param {String} topic Topic to subscribe to
   * @param {function(*):*} callback the callback to call for each RabbitMQ message on topic
   * @param {Object} [options={}] Further options
   * @returns {Promise<void>}
   */
  async listen(topic, callback, { durable = false } = {}) {
    /* ... */
    await channel.consume(
      queue.queue,
      msg => callback(JSON.parse(msg.content.toString())),
      { noAck: true }
    );
  }

1 个答案:

答案 0 :(得分:0)

感谢jonathan heindl的标记,我应该看一下this.listen。

问题是我的回调定义。

更改此:

/**
 * @param {function(*):*} callback
 */

对此:

/**
 * @param {function([*]):*} callback
 */
相关问题