【发布时间】:2019-06-22 23:14:04
【问题描述】:
我想在 python 中调用一个函数之前检查它是否是异步的。例如,在这里我想检查 f 是否是异步的,这样 await 才有意义:
async def call_async_f(f):
assert function_is_async(f)
await f()
如何实现function_is_async?我正在使用 python 3.7,它似乎有一些有趣的新异步功能,我不介意特定于 3.7 的解决方案。
【问题讨论】:
-
为什么不尝试除外?
-
函数不必定义为
async,返回值可以等待。 -
这是个坏主意,因为
f可能是一个同步函数,它返回一个可等待对象(Future、协程对象等),就像一个可迭代对象可以是许多不同的类型一样...
标签: python python-asyncio python-3.7