Как мы вызываем нормальную функцию, где ожидается сопрограмма?
Рассмотрим сопрограмму, которая вызывает другую сопрограмму:
async def foo(bar):
result = await bar()
return result
Это работает нормально, еслиbar
это сопрограмма. Что мне нужно сделать (т.е. с чем мне нужно обернуть звонокbar
) так что этот код делает правильно, еслиbar
это нормальная функция?
Вполне возможно определить сопрограмму сasync def
даже если он никогда не делает ничего асинхронного (т.е. никогда не используетawait
). Однако возникает вопрос, как обернуть / изменить / вызвать обычную функциюbar
внутри кода дляfoo
такой, чтоbar
можно ждать.