如何在jsdoc中定义一个带有spreaded参数的回调?

问题描述 投票:0回答:1

我试图在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 }
    );
  }
javascript jsdoc
1个回答
0
投票

感谢jonathan heindl标记,我应该看看这个。听。

问题是我的回调定义。

改变这个:

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

对此:

/**
 * @param {function([*]):*} callback
 */
© www.soinside.com 2019 - 2024. All rights reserved.