Я не знаю, как именно bcrypt реализовал его, но если он рекомендуется и он действительно полностью асинхронный, это означает, что они делают это в другом потоке, и он не блокирует основной поток.
InNode.js, цикл обработки событий и весь код, который вы пишете, находятся в одном потоке - как только вы начинаете что-то делать, синхронная часть должна быть сначала полностью выполнена, что означает, что все остальное заблокировано.Вы не хотите блокировать ваш REST API для ответа, верно?Каждая миллисекунда имеет значение.