我正在使用bcryptjs對我的節點服務器上的密碼進行散列和比較。這裏是我的功能:Bcryptjs異步不起作用
this.testPassword = function(pass1, pass2, callback) {
bcrypt.compare(pass1, pass2, function(err, res) {
callback(err, res);
}.bind(this));
};
而且函數調用:
context.runQuery("...", function(resp, err) {
if (!err) {
testPassword("test11", "test12", function(err2, resp2) {
});
}
});
儘管事實上,這應該是異步,它會減慢服務器爲200毫秒。這是bcrypt-js模塊還是我的實現問題。
代碼似乎沒什麼問題。不太清楚爲什麼你的意思是「慢下來」......但僅僅是因爲JS /節點中的異步並不意味着它不會影響性能......如果這個操作非常密集,它會放慢速度(因爲它是不物理併發)。我猜你可以使用像工人這樣的東西來獲得更好的結果。 –
那麼使用async有什麼意義? –
爲了不阻止執行,但這並不意味着性能更好,因爲它沒有利用物理併發能力。所以......它應該放慢速度,但不應該阻止。 –