Нужна рекомендация по замене ассинхронных функций

SlipDez

Client
Регистрация
18.07.2018
Сообщения
374
Благодарностей
70
Баллы
28
Работаю с MetaMask во время работы на сайте периодически всплывает окно где надо подтвердить подключение к сайту и/или sign транзакции. Всплывает это все в рандомных местах. Если бы ассинхронные функции работали то можно было бы постоянно это отслеживать. Как вы выкручиваетесь в этом случае?

Единственное что придумал это просто закинуть все метод и постоянно вызывать, но это не особо круто. Метод может отработать и после этого может появится окно
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 020
Благодарностей
541
Баллы
113
Работаю с MetaMask во время работы на сайте периодически всплывает окно где надо подтвердить подключение к сайту и/или sign транзакции. Всплывает это все в рандомных местах. Если бы ассинхронные функции работали то можно было бы постоянно это отслеживать. Как вы выкручиваетесь в этом случае?

Единственное что придумал это просто закинуть все метод и постоянно вызывать, но это не особо круто. Метод может отработать и после этого может появится окно
Асинхронные функции работают, вот пример https://zennolab.com/discussion/threads/vnezapnoe-pojavlenie-preduprezhdenija.113252/post-752787
 
  • Спасибо
Реакции: SlipDez

Ахилес

Client
Регистрация
11.11.2020
Сообщения
898
Благодарностей
367
Баллы
63
Асинхрон работает. Много примеров на форуме. Самое сложное это не оставить асинхрон работающим при завершении работы шаблона. но это тоже есть на форуме.
 
  • Спасибо
Реакции: SlipDez

SlipDez

Client
Регистрация
18.07.2018
Сообщения
374
Благодарностей
70
Баллы
28
Честно говоря для меня это большая новость, я всегда думал что не работает)) вчера попробовал асинхронную паузу и действительно все работает

Ахилес

с помощью await ?

Подскажите, есть ли вообще возможность с помощью ассинхронных методов делать паузу шаблона в основном потоке?

т.е есть ассинхронная функция которая будет проверять наличие элемента если есть основной код ставится на паузу и выполняется блок кода который указан при выполнении условия ассинхронной функции?
Пытался с помощью .GetAwaiter().GetResult();
await Task.Run(() => DoSomethingNonAsync()); //вызов не ассинхронного метода паузы из ассинхронной функции
Но все это выполняется только в фоне т.е проект продолжает работать
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 020
Благодарностей
541
Баллы
113
Честно говоря для меня это большая новость, я всегда думал что не работает)) вчера попробовал асинхронную паузу и действительно все работает

Ахилес

с помощью await ?

Подскажите, есть ли вообще возможность с помощью ассинхронных методов делать паузу шаблона в основном потоке?

т.е есть ассинхронная функция которая будет проверять наличие элемента если есть основной код ставится на паузу и выполняется блок кода который указан при выполнении условия ассинхронной функции?
Пытался с помощью .GetAwaiter().GetResult();
await Task.Run(() => DoSomethingNonAsync()); //вызов не ассинхронного метода паузы из ассинхронной функции
Но все это выполняется только в фоне т.е проект продолжает работать
Я так не углублялся, но есть проблема с работой с основным потоком из вторичного, на пример если во вторичном потоке вызвать exception то весь зенопостер закрашится
 
  • Спасибо
Реакции: SlipDez

SlipDez

Client
Регистрация
18.07.2018
Сообщения
374
Благодарностей
70
Баллы
28
Ну да, я уже понял, единственное что мне видится целесообразным это делать совсем небольшие методы как скажем клик по 1 -2 кнопке и все в ассинхронном методе или увеличивать задержку поиска элемента для клика -взятия значения
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)