Discuss / Python / 怎么理解老师源码里的add_route的语句的逻辑?

怎么理解老师源码里的add_route的语句的逻辑?

Topic source
if not asyncio.iscoroutine(fn) and not inspect.isgeneratorfunction(fn):
    fn = asyncio.coroutine(fn)

意思是: 当fn不是协程 且 不是用户定义(user-defined )的 generator function则此语句为真。然后转换为协程。

问题: 如果 fn不是协程 却是用户定义的generator function呢?那此时if语句为假,所以fn就不转化为协程了吗。 虽然我觉得传入fn参数的handler函数应该不会是一个generator function。 但如果说handler肯定不是generator function那

 not inspect.isgeneratorfunction(fn):

就肯定为真,此时还需要判断吗?


  • 1

Reply