使用bcrypt-node时未显示回调错误

tjh*_*ack 4 javascript node.js

我已经创建了一个名为的节点库文件encrypt.js.

其中包括使用bcrypt-nodejs创建的一些函数

var bcrypt = require('bcrypt-nodejs');

exports.cryptPassword = function(password, callback) {
    bcrypt.genSalt(10, function(err, salt) {
        if (err) return callback(err);
        else {
            bcrypt.hash(password, salt, function(err, hash) {
                return callback(err, hash);
            });
        }
    });
};

exports.comparePassword = function(password, userPassword, callback) {
    bcrypt.compare(password, userPassword, function(err, isPasswordMatch) {
        if (err) return callback(err);
        else return callback(null, isPasswordMatch);
    });
};
Run Code Online (Sandbox Code Playgroud)

当我现在cryptPassword从我的server.js文件中使用时,它显示来自bcrypt-nodejs库的错误说明' no callback function was given'

我在我的通话中添加了一个功能,如下所示

var encryptedPassword =  encrypt.cryptPassword(req.body.user.password, function (err, salt){
    if(err) {throw err};
    console.log('hlllll');
});
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

dam*_*hat 13

句法: bcrypt.hash(data, salt, progress, cb)

你必须有两个回调.

记录在这里:

https://npmjs.org/package/bcrypt-nodejs


更新:

您可以使用该包bcrypt而不是bcrypt-nodejs

你的代码将起作用:

bcrypt.hash(password, salt, function(err, hash) {
   return callback(err, hash);
});
Run Code Online (Sandbox Code Playgroud)