My understanding is that
d/transact blocks, even though it returns a future. So why does it return a future?
d/transact-async claims to “return its future” immediately, so you can wait/deref the future on another thread.
However, in this example (Datomic Best Practices | Datomic) the future returned by
d/transact-async is immediately deref’ed on the same thread(s) given by pipeline-blocking. Why not use
d/transact then? Where is the async API utilized here?