Я создаю оболочку для API.Пока это работает.Тем не менее, это синхронно, используя модуль запросов для HTTP-вызовов.
Я хотел бы реализовать способ асинхронного вызова этих методов без необходимости использовать другое имя или версию lib.Я сразу подумал о перегрузке, но, учитывая, что перегрузка в python немного отличается от других языков, это не выглядит реально возможным.
По сути, я хочу создать класс, который будет выглядеть следующим образом (идея -мудро, я знаю, что это не работает в Python):
class Foo:
def foo(self):
# Requests code...
print("foo sync")
async def foo(self):
# aiohttp code...
print("foo async")
И используйте это следующим образом:
f = Foo()
f.foo()
await f.foo()
Вывод:
>> "foo sync"
>> "foo async"
По сути, в этом коде асинхронная функция просто полностью переопределяет предыдущую, что на самом деле не помогает.
Из некоторого поиска в Google это выглядит не совсем возможным, однако Python всегда удается меня удивить.
Заранее спасибо: D