Друзья, не могу разрешить проблему. В общем использую для UI

Druid, который ожидает в конце возвращение конкретных структур (в main), при том по задумке, я должен запускать при нажатии на кнопку в приложении ряд событий, некоторый из которых асинхронны. Поднять future мне просто некуда, чтоб её вызвать.
Попытался решить проблему через block_on() в функции, но это вызывает ошибку.

Как мне заставить выполняться асинхронные функции?

11 ответов

3 просмотра

заспаунить таск в бэкграунде не подходит? сохранить куда-нибудь Handle на рантайм tokio и спаунить туда

Артем- Автор вопроса
Max Силинг
заспаунить таск в бэкграунде не подходит? сохранит...

Я пытался))) В общем не особо получилось. Там вызов должен быть внутри дочернего потока. Я бы всё синхронным сделал, но либа так не умеет (да и логичнее асинхронно, на самом деле)

Артем
Я пытался))) В общем не особо получилось. Там вы...

вызов чего должен быть внутри дочернего потока? не понимаю твою проблему

чтобы послать что-то в друид, используй ExtEventSink

Ну тогда тебе https://docs.rs/tokio/latest/tokio/runtime/struct.Handle.html#method.block_on

Артем- Автор вопроса
Max Силинг
чтобы послать что-то в друид, используй ExtEventSi...

Спасибо, пытался использовать, но решил отложить. Думаю стоит вернуться к этому, да. @MikailBag Спасибо, сейчас попробую.

Артем
Спасибо, пытался использовать, но решил отложить. ...

вот у меня в проекте коммуникация между TCP-сервером и UI на друиде https://github.com/GoldsteinE/uuis/blob/master/src/server.rs https://github.com/GoldsteinE/uuis/blob/master/src/ui.rs

Артем- Автор вопроса
Mikail Bagishov
Ну тогда тебе https://docs.rs/tokio/latest/tokio/r...

Это сработало, даже зависло приложение, так как оказывается у меня 15000 раз отправляется видео размером 100мб))

Артем- Автор вопроса
Max Силинг
вот у меня в проекте коммуникация между TCP-сервер...

Спасибо, как раз хотел организовать всё эффективнее

Артем
Это сработало, даже зависло приложение, так как ок...

ну тогда точно надо сделать это как-то по-умному. Чтобы UI тред получал какое-то событие от токио и уже его обрабатывал

Артем- Автор вопроса
Mikail Bagishov
ну тогда точно надо сделать это как-то по-умному. ...

Да, сейчас переделаю всё. Из-за проблем с асинхронностью у меня всё изначально криво пошло))

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

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

а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
Кто нибудь поясните это всё таки вброс или да? Про санктум слышал на поедб вбросили, а по дурке откуда инфа и на сколько это вообще правда? Пахнет шизофренией какой-то ✅Divi...
Dmitry Ritter
9
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
Ребят, есть какие нибудь мили билды, способные в шмотках с пола закрывать атлас?
Ninja Obormot
12
салют мужики, как я могу менеджмить юзеров в канале с помощью тг бота? Мне нужно уметь ботом получать список юзеров в канале и удалять их, как я могу это сделать ? ( gram, tel...
Kokni
1
Карта сайта