我正在使用带有 Google 预设样式规则的 JSCS 来检查我的代码,并且我在 DAO 类中定义了一个方法,如下所示:
/**
* Inserts a new user into database.
*
* @param {User} user User to insert.
* @return {User} Last inserted user. // Redundant return statement
* @throws Error if query fails.
* @since 1.0
*/
add(user) {
this.pool.getConnection((err, conn) => {
conn.query('INSERT INTO users SET ?', user, (err, rows) => {
if (err) {
throw err;
}
conn.release();
return this.getById(rows.insertId);
});
});
}
JSCS 将 JSDoc@return
标记标记为冗余,因为它在函数范围内找不到 return 语句add(user)
,但它实际上驻留在匿名回调(err, rows) => { ... }
中。
如何正确记录该退货声明?我的方法在某种程度上是错误的还是坏的?