Я использую bcryptjs для хеширования и сравнения паролей на моем сервере узла. Вот моя функция:Bcryptjs Async не работает
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/node не означает, что это не повлияет на производительность ... Если эта операция очень интенсивная, она будет замедляться (потому что это не физически одновременно). Вы можете использовать что-то вроде работников, чтобы получить лучшие результаты, я думаю. –
Итак, в чем смысл использования async? –
Чтобы не блокировать выполнение, но это не значит, что производительность лучше, потому что он не использует физические параллельные возможности. Итак ... он должен замедляться, но он не должен блокироваться. –