我想在用python调用函数之前检查它是否异步。例如,在这里我想检查f
是否是异步的,以便 await 有意义:
async def call_async_f(f):
assert function_is_async(f)
await f()
如何实现function_is_async
?我正在使用python 3.7,它似乎有一些有趣的新异步功能,我不介意3.7特定的解决方案。
inspect 检查了大多数类型的异步对象,在您的情况下它是 iscoroutinefunction
import inspect
async def call_async_f(f):
assert inspect.iscoroutinefunction(f)
await f()