Generators¶
Sometimes we want to call something before and after original function call.
That purpouse can be reached by using yield
keyword.
A database dependency with yield¶
For example, you could use this to create a database session and close it after finishing.
Only the code prior yield
statement is executed before sending a response
1 2 3 4 |
|
The yielded value is what is injected into original function
1 2 3 4 |
|
The code following the yield
statement is executed after the original function has been called
1 2 3 4 |
|
Tip
As same as a regular depends behavior you can use async
and sync
declarations both with an async
original function and only sync
declaration with a sync
one.
Warning
All errors occurs at original function or another dependencies will be raised this place
1 2 3 4 |
|
db.close()
execution use the following code: 1 2 3 4 5 6 |
|