Как правильно подождать корутину внутри другой корутины 1. yield return SecondCoroutine(); 2.

yield return StartCorouitne(SecondCoroutine());
?
Чет я туплю.

13 ответов

27 просмотров

не укладывается в голове сам кейс. но если надо что-то подождать, то можно попробовать забить проблему вот таким костылём: private bool yourBool; private IEnumerator TestRoutine1() { yield return null; yourBool = true; } private IEnumerator TestRoutine2() { yield return new WaitUntil(() => yourBool); }

Оба варианта должны сработать помоему, а что не так с ними? Вроде первый будет логичнее

Evg-О. Автор вопроса
Utepkaliev Alemkhan
Оба варианта должны сработать помоему, а что не та...

да, оба работают, уже проверил в тестовом классе. У меня просто есть обычный класс, не монобех. И чет я засомневался в его корутинах. Короче, оба работают

Evg О.
screenshot да, оба работают, уже проверил в тестовом классе. ...

Рекомендую хранить запуски корутин в типе Coroutine, можно легко контролировать его работу потом

Evg-О. Автор вопроса
Utepkaliev Alemkhan
Рекомендую хранить запуски корутин в типе Coroutin...

Да это понятно, а вот кстати, переменная обнуляется, когда корутина завершается?

Evg О.
screenshot да, оба работают, уже проверил в тестовом классе. ...

наверняка знаешь, но на всякий случай: не забудь удостовериться, что на момент запуска корутин твой монобех (он же корутинРаннер) не будет выключен по какой-либо причине.

Evg-О. Автор вопроса
Utepkaliev Alemkhan
Вопрос интересный) Думаю не обнуляется

проверил, не зануляется. Только если самому в конце корутины сделать myCor = null;

Evg-О. Автор вопроса
Utepkaliev Alemkhan
А если вызвать, пойдет по новой?

Такой код. То есть корутина стопарится и больше не работает

А зачем переменная для корутины?

Evg-О. Автор вопроса
Kirill Duhovny
А зачем переменная для корутины?

чтоб стопать корутину не по стринге

Evg О.
чтоб стопать корутину не по стринге

Так ты можешь Coroutine() вписывать в стат или стоп методы

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

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

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Доброе утро, мультиязычные сайты делал кто-нибудь? Какие подводные камни? Нужно чего нибудь допом ставить? Как поступить? В теории сделать две папки ru en и туда кидать страни...
Racoon Mitya
2
Карта сайта