这是我第一次使用 asyncio.Event, 在之前我使用 asyncio.Future,
Future.set_result 的时候 await 返回。
当我们要一个 state 的时候,需要用 一个 connected 和 Future 来配合使用。
今天发现,用 Event 可以完全解决这个问题,我们初始化一个 evt:
evt = asyncio.Event()
在状态改变的时候 evt.set()
即可,在另外一个地方 await evt.wait()
就可以等待完成后执行。
当状态变成另一种情况是, evt.clear()
就可以。
我们可以通过 evt.is_set()
来看执行的状态。
性能也会比 Future 来的更强。
网友评论