dam*_*ton 3 javascript bcrypt mongoose node.js async-await
我对这个主题有一个问题: bcrypt.compare() 是异步的,这是否一定意味着延迟肯定会发生?
由于我的会员级别不允许我发表评论,所以我不得不打开新主题。
我的问题是有什么缺点,或者是否有任何缺点可以使用bcrypt.compareSync()而不是异步版本bcrypt.compare()。
compareSync()绝对给出了正确的结果。那么为什么不使用它并使用compare()包装在 Promise 中的呢?它会阻止 NodeJS 为其他用户提供服务吗?
使用异步方法而不是同步方法的原因在项目的自述文件中得到了很好的解释。
为什么推荐异步模式而不是同步模式?
如果您在简单的脚本上使用 bcrypt,那么使用同步模式就完全没问题。但是,如果您在服务器上使用 bcrypt,则建议使用异步模式。这是因为 bcrypt 完成的散列是 CPU 密集型的,因此同步版本将阻止事件循环并阻止您的应用程序为任何其他入站请求或事件提供服务。异步版本使用不会阻塞主事件循环的线程池。
https://github.com/kelektiv/node.bcrypt.js#why-is-async-mode-recommended-over-sync-mode
因此,如果您在 Web 应用程序或其他不想阻塞主线程的环境中使用它,则应该使用异步版本。
| 归档时间: |
|
| 查看次数: |
3951 次 |
| 最近记录: |