Как определить обратный вызов, который принимает расширенные аргументы в jsdoc? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь определить обратный вызов с переменным количеством аргументов в jsdoc, но мой линтер говорит мне, что ожидается хотя бы один аргумент, но были заданы 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 голосов
/ 08 апреля 2019

Спасибо Джонатану Хейндлу за то, что я выделил, что я должен посмотреть на это. Слушайте.

Проблема заключалась в моем определении обратного вызова.

Изменить это:

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

К этому:

/**
 * @param {function([*]):*} callback
 */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...