由於某些原因,bcrypt.hash
方法掛起並且從不調用其回調。bcrypt.hash不會調用其回調
bcrypt.genSalt(29, function(err, salt) {
if (err) {
res.json({ success: false, msg: err.message });
} else {
bcrypt.hash(req.body.password, salt, function (err, hash) {
// This function is never called
res.json({ success: true });
});
}
});
有什麼建議嗎?
UPDATE
看來它不與express.js &等有關。 我只是創建了一個腳本文件test.js
:
var bcrypt = require('bcrypt');
var pwd = 'Test password 123';
bcrypt.genSalt(29, function(err, salt) {
if (err) {
console.log('1: ' + err.message);
} else {
console.log('Salt: ' + salt);
bcrypt.hash(pwd, salt, function (err, hash) {
if (err) {
console.log('2: ' + err.message);
} else {
console.log('Hash: ' + hash);
}
});
}
});
然後,我通過使用node test.js
啓動它。它會輸出一個salt,之後它會掛起並且bcrypt.hash在任何情況下都不會調用它的回調函數。我正在使用OS X,並且已安裝節點v7.8.0。
第一個回調拋出錯誤?另外,是否定義了req.body.password?我認爲這是坐在某個端點的內部,但沒有看到代碼。 – user2263572
@ user2263572 1.沒有2.是 –
@ user2263572我已經更新 –