小编sta*_*wed的帖子

bcrypt.compare() 是异步的,这是否意味着一定会发生延迟?

我正在使用bcryptjs包来散列和比较密码。

下面使用的方法compareSync是同步的并返回一个布尔值。它可靠且按预期工作。

let trueOrFalse = bcrypt.compareSync('abcd', '1234');

if(trueOrFalse) {
    console.log('hooray, it was true');
} else {
    console.log('oops, it was false');
}
Run Code Online (Sandbox Code Playgroud)

下一个示例使用异步compare方法。我担心,因为这个版本是异步的,如果服务器上有任何延迟,它可能会在确定 的值if/else之前到达语句。这是一个合理的担忧还是我误解了这种类型的异步函数的本质?bcrypt.compareres

let trueOrFalse;
bcrypt.compare('abcd', '1234', function(err, res) {
    trueOrFalse = res;
}

if(trueOrFalse) {
    console.log('hooray, it was true');
} else {
    console.log('oops, it was false');
}
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous bcrypt node.js

4
推荐指数
1
解决办法
8792
查看次数

标签 统计

asynchronous ×1

bcrypt ×1

javascript ×1

node.js ×1