diff --git a/docs/providers/async.rst b/docs/providers/async.rst index 39c79292..130c0425 100644 --- a/docs/providers/async.rst +++ b/docs/providers/async.rst @@ -15,3 +15,20 @@ Providers support asynchronous injections. :language: python :emphasize-lines: 26-29 :lines: 3- + +If provider has any awaitable injections it turns into async mode. In async mode provider always returns awaitable. +This causes a cascade effect: + +.. code-block:: bash + + provider1() <── Async mode enabled <──┐ + │ │ + ├──> provider2() │ + │ │ + ├──> provider3() <── Async mode enabled <──┤ + │ │ │ + │ └──> provider4() <── Async provider ───────┘ + │ + └──> provider5() + │ + └──> provider6()