https://w3c.github.io/IndexedDB/#transaction-start
When an implementation is able to enforce the constraints for the transaction’s (...) the implementation must queue a database task to start the transaction asynchronously
Starting a transaction doesn't seem to require queuing a task, because the state change only affect parallel steps (of https://w3c.github.io/IndexedDB/#async-execute-request).
The event-loop will notice when a transaction has started only when the event are fired from within the task queued when an request has been executed.
You could also add a "Wait for transaction to have started" step to the parallel part of #async-execute-request.
https://w3c.github.io/IndexedDB/#transaction-start
Starting a transaction doesn't seem to require queuing a task, because the state change only affect parallel steps (of https://w3c.github.io/IndexedDB/#async-execute-request).
The event-loop will notice when a transaction has started only when the event are fired from within the task queued when an request has been executed.
You could also add a "Wait for transaction to have started" step to the parallel part of
#async-execute-request.