Здравствуйте, Kolesiki, Вы писали:
K>Он может быть каким угодно, я спросил про асинк — каким боком он мне поможет, если я не знаю результата операции?? K>И напоминаю, сэйвы в отдельном потоке никто не отменял.
await. Если же ты нигде не ждешь завершения операции — очевидно, это ошибка. А поэтому, твой вопрос теряет смысл.
K>Никто не говорил про "не отрисовывая". Забудьте про этот атавизм! Давно придуманы потоки, корутины, таски и т.п.
Ну так async это тот же таск. Если сахар не нужен — то его и не обязательно использовать.
K>В теории — да. Но как я показал, от того, что кнопка сразу "отжалась", легче никому не стало — ты всё равно обязан либо иметь механизм ожидания долгой операции, либо тупо подождать её завершения, ибо от неё зависит последущая работа (это не только про сэйв).
Разница только в том, что с async/await можно с концентрировать логику действия в одном месте, а с помощью классических подходов, которые, безусловно работают — она стремится разползтись не только по разным методам, но и по модулям. Классические event-driven решения — это чаще всего — тихий ужас, потому что работает это не системно.
Если ты можешь удержать в голове и увязать вместе пару десятков состояний — поздравляю, ты молодец. Но код будет — непонятное говно.