我正在尝试在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 }
);
}
答案 0 :(得分:0)
感谢jonathan heindl的标记,我应该看一下this.listen。
问题是我的回调定义。
更改此:
/**
* @param {function(*):*} callback
*/
对此:
/**
* @param {function([*]):*} callback
*/