bcrypt.compare()是异步的,是否一定意味着一定会发生延迟? [复制]
此问题已经在这里有了答案:
- Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference6个答案
异步方法将与您的主程序并行执行,因此您的console.log
将在bcryptpare
中的回调函数之前完成。您将始终看到“糟糕,这是错误的”。
您可以等待主要功能的实际结果,然后在控制台中显示某些内容。
为了使比较“可以等待”,您可以将其包装到Promise
中:
async function compareAsync(param1, param2) {
return new Promise(function(resolve, reject) {
bcryptpare(param1, param2, function(err, res) {
if (err) reject(err);
resolve(res);
});
});
}
const res = await compareAsync(param1, param2);
console.log(res);
评论列表(0)
- 暂无评论