Как узнать, является ли функция или метод нормальной функцией или функцией async? Я бы хотел, чтобы мой код автоматически поддерживал обычные или асинхронные обратные вызовы и нуждался в способе проверить, какой тип функции передан.
async def exampleAsyncCb():
pass
def exampleNomralCb():
pass
def isAsync(someFunc):
#do cool dynamic python stuff on the function
return True/False
async def callCallback(cb, arg):
if isAsync(cb):
await cb(arg)
else:
cb(arg)
И в зависимости от того, какой тип функции передается, он должен либо запускать его нормально, либо с ожиданием. Я пробовал разные вещи, но понятия не имею, как реализовать isAsync()
.