170 похожих чатов

Можно ли как то запускать асинхронную функцию в синхронной функции?

37 ответов

42 просмотра

как правило не стоит

Mazga- Автор вопроса
Tishka17
как правило не стоит

Мне приходится делать так await (Foo.boo == boo) Потому что в функции есть асинхронная функция можно ли как то избавиться от await?

Mazga- Автор вопроса
Tishka17
треш какой-то

:( А как по другому сделать?

Mazga
:( А как по другому сделать?

сделать что? я не понял откуда был выдран этот кусок и почему там асинк

Mazga
url: https://pastebin.com/DuqaSwp9

зачем ты сделал __eq__ асинхронным?

Mazga- Автор вопроса
Tishka17
зачем ты сделал __eq__ асинхронным?

Потому что использую асинхронную функцию тест в которой есть httpx.get

Mazga
Потому что использую асинхронную функцию тест в ко...

Что за херня? Зачем ты в __eq__ делаешь запрос?

Mazga- Автор вопроса

Некрасиво же

Mazga- Автор вопроса
👁 Shuhari
Некрасиво же

Foo.id == 123 по моему лучше чем Foo.search(id=123)

Mazga
Foo.id == 123 по моему лучше чем Foo.search(id=123...

зато понятно, что присходит

Mazga
Foo.id == 123 по моему лучше чем Foo.search(id=123...

Это вообще семантически не одно и то же.

Mazga
Foo.id == 123 по моему лучше чем Foo.search(id=123...

Если под капотом при этом дёргается апи — хуже. Ты сделал для пользователя класса вид, что это дешёвая операция, а на деле — нет. И смысл нифига не понятен.

а че нет? человек хочет свой QL.

Mazga
Foo.id == 123 по моему лучше чем Foo.search(id=123...

не, хуже в разы, мне из твоего кода нужно понимать, что при сравнении идет запрос в сеть, эта конструкция просто дизориентирует меня

asyncio.run(afunc())

Mazga
Foo.id == 123 по моему лучше чем Foo.search(id=123...

а лучше разделить модель данных и штуку которая делает запросы client.search(Foo.id==123)

std::mpa 🇺🇦
не надо так

Ладно asyncio.get_event_loop().run_until_complete(func())

std::mpa 🇺🇦
не надо так

Ну почему же... в зависимости от задачи это как раз таки может требоваться.

evle
Кого?

свой квери-движок

Зинатулл Черимолах
Ладно asyncio.get_event_loop().run_until_complete(...

За asyncio.get_event_loop() принято в приличном обществе водить ссаной тряпкой по лицу.

Alex
За asyncio.get_event_loop() принято в приличном об...

Ну наверное у него уже есть луп и не надо новый создавать

std::mpa 🇺🇦
что за общество? O.o

Общество тех, кто читал документацию

std::mpa 🇺🇦
что за общество? O.o

Токсикоманов на работе

std::mpa 🇺🇦
свой квери-движок

Блестяще. Он на каждую операцию будет в сеть лезть или всё-таки сперва запрос целиком сформирует, а потом отдельным методом явно запустит поиск?

Alex
Ну почему же... в зависимости от задачи это как ра...

да, но контекст: async def main(): print(await (Foo.id == 1))

Зинатулл Черимолах
Ну наверное у него уже есть луп и не надо новый со...

1. asyncio.get_event_loop() таки создает новый луп если его нет, но это может сломаться в любой момент 2. run_until_complete не будет работать, если луп уже запущен

Тут дошли до момента, когда попытались __eq__ асинхронным сделать. То есть уже куда-то не туда ушло.

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
This automated cryptocurrency trading system uses intelligent algorithms to buy low and sell high on leading crypto exchanges. Many users have already enjoyed significant prof...
Endu Wako
1
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Карта сайта