mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-22 17:47:02 +03:00
27 lines
635 B
Python
27 lines
635 B
Python
|
"""`Coroutine` providers example with @asyncio.coroutine decorator.
|
||
|
|
||
|
Current example works only fot Python 3.4+.
|
||
|
"""
|
||
|
|
||
|
import asyncio
|
||
|
|
||
|
import dependency_injector.providers as providers
|
||
|
|
||
|
|
||
|
@asyncio.coroutine
|
||
|
def coroutine_function(arg1, arg2):
|
||
|
"""Sample coroutine function."""
|
||
|
yield from asyncio.sleep(0.1)
|
||
|
return arg1, arg2
|
||
|
|
||
|
|
||
|
coroutine_provider = providers.Coroutine(coroutine_function, arg1=1, arg2=2)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
loop = asyncio.get_event_loop()
|
||
|
arg1, arg2 = loop.run_until_complete(coroutine_provider())
|
||
|
|
||
|
assert (arg1, arg2) == (1, 2)
|
||
|
assert asyncio.iscoroutinefunction(coroutine_provider)
|