コード例 #1
0
ファイル: ep15.py プロジェクト: JasonYw/learn_fastapi
class MySuperContextManager:
    def __init__(self):
        self.db = DBSession()

    def __enter__(self):
        return self.db

    def __exit__(self, exc_type, exc_value, traceback):
        self.db.close()
コード例 #2
0
ファイル: ep15.py プロジェクト: JasonYw/learn_fastapi
async def get_db():
    db = DBSession()
    try:
        '''
        不要尝试在yield后面抛出HTTPException,不会起作用
        yield之后的退出,是在异常处理器之后被执行的
        '''
        yield db
    finally:
        db.close()