Владислав
Если в десктопе все примерно очевидно, то на серверах никто не знает когда будет сборка
Stas
Ладно я спать, всем удачи
NIX
хаха, как сказал один тип - десктоп - это деградация
Владислав
Кстати да
Stas
асинхронный метод выполнится до первого await и вернёт управление, внутри самгоже метода будет всё выглядеть нормально, после того как закончится await он вернётся к своей СЛЕДУЮЩЕЕЙ строчке, именно это у тебя и было в твоём коде
Владислав
Если обобщенно - async методы не вычисляются и не возвращают результат. Он вернут задачу. Чтобы ее выполнить и получить ответ пишут оператор await. Именно после го вызова программа уходит в функцию. После ее выполнения будет возвращен результат и продолжится выполнение
Владислав
Ты можешь сделать так
Stas
в то время как место откуда ты вызвал асинхронный метод будет работать пока не закончится await, и упраление вернётся обратно в асинхронный метод
Владислав
Var t = doSomeStuffAsync(); Var res= await t;
Владислав
Если тебе надо выполнить ее синхронно task.await(t)
NIX
Var t = doSomeStuffAsync(); Var res= await t;
да, так я и делал в коде
NIX
но мой код не работал
NIX
я так и не понял почему
Владислав
Ну тут я мало чем помогу
NIX
я возвращал управление только после асинхронного метода,
Stas
кому ты его возвращал?
NIX
в то время как этот асинхронный метод возвращал управление раньше
Stas
ты вызывал await внутри Main
NIX
ну да
Stas
кому Main возвращал своё управление?
NIX
погодика
Stas
))
NIX
а как так?
Stas
А вот когда в Main ты вызвал метод внутри которго await, вот тот и вернул управление Main
NIX
Вчера мне компилятор писал, что необходимо добавить await перед методом внутри main, иначе он будет синхронным
Stas
Да потомучто ему без раницы
NIX
он е мне сам предложил так исправить
NIX
написать await
Stas
Ты сам неправильно разветвил код и ждал асинхронности там где её впринципе быть не могло
NIX
потом я нарвался на это https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/async/index
NIX
тут он тоже это делает
NIX
почему?
Владислав
Владислав
Последний Шарп так может
NIX
вот засранец
NIX
я из-за него новую студию качал
Владислав
Он за тебя делает такое Async task MainAsync(){} P static void main() { MainStatic().Wait(); }
Владислав
Не
Владислав
Ну
Владислав
Да
Владислав
Ты же не ожидал
NIX
пришлось удалить половину своей любимой порнухи
NIX
надо было скомпилировать сначала
Владислав
Так в коде вс еправильнг
NIX
а я видимо забыл
NIX
сидел часов до 3, думал
NIX
я вообще удалил аваиты из маин
NIX
Stas
бля, да не пойдёт код дальше await пока тот не выполнится, код надо РАЗВЕТВИТЬ!
Владислав
Или
NIX
потом я нарвался на это https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/concepts/async/index
видимо этот чёрт асинхронил маин для того, что бы можно было подключиться к нему из внешнего кода
Владислав
Как ты уже написал
Владислав
Но
Владислав
List<task>
NIX
нет, так всё и должно работать
NIX
меня устраивает
Владислав
Туда добавлять твои dostuff()
Владислав
Такски
Владислав
А потом
Владислав
Task.waitall()
Владислав
После цикла
NIX
я прекрасно понимаю что внутри цикла маин будет ожидание всего цикла
Владислав
Результат будет тот же
NIX
я специально это сделал
Владислав
Только асинхронно
Владислав
И понятно где все завершится
Владислав
Хз)
Владислав
Нет
Владислав
Не будет
Владислав
Если ты не await
Владислав
То у тебя они запустятся
NIX
я просто о том, что методы подключения к сайту работают тоже поочерёдно
Владислав
И сразу же закончится программа
Stas
Ладно, я думаю разобрались, всем спокойной ночи
Владислав
Я тоже пойду
Владислав
До завтра
NIX
это значит что где-то в dllках тоже асинхронные методы есть)
NIX
Спасибо, друзья!