请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

什么时候用async 什么时候用 await? 为啥create_pool的时候不是await呢?

为啥create_pool的时候不是await呢?create_pool不是函数的调用吗?

正在回答

1回答

async是用来定义好协程的,是定义的时候是用的,真正的调用使用的是await, 但是await是用来调用async定义的函数也就是协程的, create_pool该不该用await要看这个方法是否是使用的async定义的

1 回复 有任何疑惑可以回复我~
  • 提问者 code_bean #1
    谢谢老师,我再理解理解
    回复 有任何疑惑可以回复我~ 2020-11-23 08:38:42
  • 提问者 code_bean #2
    老师,我懂了 async with 是一个整体,表示一个异步的上下文管理器。
    
     async def __aenter__(self):
    
     async def __aexit__(self, exc_type, exc, tb):
    
     进入时,会调用 __aenter_ 这里面就会用到 await
    回复 有任何疑惑可以回复我~ 2020-11-23 19:35:02
  • bobby 回复 提问者 code_bean #3
    正解。 python由于历史原因,所以会有同步和异步两种写法,至于为什么会搞成这样?是因为python是早期语言,很多库都是同步的,后面又出现了异步io,所以为了兼容以前和新出现的异步生态,所以提供了两套写法,这个其实不是python本身的问题,只要是早期语言,想要做到如今这个程度都只会更加复杂,比如java这种,如果想要做到这样也会更加复杂,目前只有新语言才能解决这个问题 比如go,因为go出现的较晚,所以一开始语言设计的时候就不会做成同步io,所以没有历史包袱
    回复 有任何疑惑可以回复我~ 2020-11-24 10:40:13
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信