тебе нужно не ожидание завершения закодировать, тебе нужно закодировать то, что нужно выполнить после завершения, в калбэке on кажется, мэйн луп сводит с ума, зачем ты так к нему привязался? зацикливание асинхронных операций делается не через цикл, цикл годится только для зацикливания синхронных операций (асинхронные операции в цикле на самом деле выполнятся не в цикле, а параллельно, "одновременно") тебе придётся освоить калбэки (или чуть более удобные надстройки в виде обещаний/etc), чтобы скомпозировать из них свою асинхронную логику если ты хочешь ещё и внешними сигналами асинхронно запускать/останавливать эти асинхронные пинги, и пинговать кучу адресов последовательно/параллельно, то тебе придётся построить async state maсhine, по сути, с довольно сложным набором состояний (прости, прост умные буквы набрасываю, чтобы убедить, что задачу ты недооцениваешь, пытаясь натянуть непривычного асинхронного ужа на привычного синхронного ежа) хоть сколь-нибдуь сложная асинхронная логика, написанная без какой-нибдуь абстракции типа promise / async fsm / async-await / rxCpp будет выглядеть вообще не так просто и прозрачно, как ты предполагаешь, там у тебя и счётчики всякие магические возникнут, и ифы с флажками странные, и массивы непонятные :3 соре за графоманию, может кто-то и подскажет покостыльнее и поконкретнее тебе, у меня прост "правильность" от твоего вопроса почесалась немношк, поделился своим зудом :3
Комментарии: 7
Anonim
Я же вроде тебе ответил Да он не врубается в базу. И что такое voltatile
Dobrodeetel
Да все отлично) просто я это сообщение здесь написал примерно тогда же когда и там. Но не суть. Вы дали идею как и справить по поводу volatile НО! Я не понял почему цикл завершается. Это главное
Anonim
Потому что надо читать базу
Dobrodeetel
Ответ убил. А можно коротко про базу?
Anonim
Это к деду
Aleksandr
https://github.com/mairas/ReactESP - попробуй тут почитать введение в проблему асинхронного кода, вроде, базово описано, с пошагово улучшаемым примером
Dobrodeetel
спасибо. почитаю