- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
关于bcrypt npm package ,我看到推荐使用异步版本。但是,我想真正了解两个版本在性能方面的差异(即事件循环、阻塞 I/O 等)
版本 1:异步
const hash = await bcrypt.hash(...)
...
版本 2:同步
const hash = bcrypt.hashSync(...)
...
换句话说,如果我使用 await
调用 bcrypt.hash
,效果是否等于同步版本?
最佳答案
同步与异步版本的不同之处在于它们使用底层同步与异步盐生成。所以异步熵收集。
https://github.com/kelektiv/node.bcrypt.js/blob/7a720bd2e5450f97e64d4a1d4ac23190b1417c65/bcrypt.js#L30 https://github.com/kelektiv/node.bcrypt.js/blob/7a720bd2e5450f97e64d4a1d4ac23190b1417c65/bcrypt.js#L76
然后,哈希被卸载到异步哈希的工作线程。
https://github.com/kelektiv/node.bcrypt.js/blob/aac593c3922253c732bb62197913a26a8302fbe6/src/bcrypt_node.cc#L216 https://github.com/kelektiv/node.bcrypt.js/blob/aac593c3922253c732bb62197913a26a8302fbe6/src/bcrypt_node.cc#L241
所以,是的,使用异步确实会有所不同,并且会避免阻塞 Node 事件循环
关于node.js - await bcrypt.hash() 与 bcrypt.hashSync() 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50755580/
关于bcrypt npm package ,我看到推荐使用异步版本。但是,我想真正了解两个版本在性能方面的差异(即事件循环、阻塞 I/O 等) 版本 1:异步 const hash = await b
我是一名优秀的程序员,十分优秀!