问题与bcrypt.compare()

这个方法总是返回undefined。 它应该返回true或false。 但事实并非如此。 有人能帮我解决吗?

connection.query('SELECT newpwd FROM userinfo WHERE username = ? ', param.username, function(err, hash, fields) { console.log("Db loaded hash :" + hash); if (err) return callback(err); else if (!hash.length) { return callback(err); } else { bcrypt.compare("abcdef", hash, function(err, result) { console.log(param.password); console.log(result); if (result == true) { console.log(param.password); console.log("Login hash :" + hash); return callback(null, "valid_user"); } else return callback(null, "invalid_user"); }); } }); }