用async def\u ainit编写类__
async-class的Python项目详细描述
异步类
增加了编写具有可等待初始化函数的类的能力。在
示例
importasynciofromasync_classimportAsyncClassclassMyAsyncClass(AsyncClass):asyncdef__ainit__(self):future=self.create_future()self.loop.call_soon(future.set_result)awaitfutureasyncdefmain():instance=awaitMyAsyncClass()print(instance)asyncio.run(main())
文件
模块为编写异步代码提供了有用的抽象。在
任务库
TaskStore
是任务管理帮助程序。一个实例有create_task()
和create_future()
方法和所有创建的实体都将被销毁
当TaskStore
将通过close()
方法关闭时。在
另外,任务存储可能会创建self的链接副本,它将 父实例将关闭时关闭。在
^{pr2}$异步类
具有用于简单任务管理的任务存储实例和帮助程序的基类。在
importasynciofromasync_classimportAsyncClassclassMyClass(AsyncClass):def__ainit__(self):self.task=self.create_task(asyncio.sleep(3600))asyncdefmain():obj=awaitMyClass()assertnotobj.task.done()awaitobj.close()assertobj.task.done()asyncio.run(main())
异步类库
是一个具有元类的基包装器,它没有像
self.loop
和TaskStore
相关的助手(self.create_task
,self.create_future
)。在
importasynciofromasync_classimportAsyncClassBaseclassMyAsyncClass(AsyncClassBase):asyncdef__ainit__(self):loop=asyncio.get_event_loop()future=loop.create_future()loop.call_soon(future.set_result)awaitfutureasyncdefmain():instance=awaitMyAsyncClass()print(instance)asyncio.run(main())
- 项目
标签: