powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Зачем нужен await?
25 сообщений из 252, страница 5 из 11
Зачем нужен await?
    #39682411
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАгнец за бортомНу так а какие аргументы еще нужны?

Код либо ждем (await)
Либо не ждём (без await) - по каким то причинам. Например - потом подождём.

Ну и всё. )

В смысле, потом? )
Никто же не запретит использовать к примеру такую "конструкцию"
Код: c#
1.
2.
3.
4.
5.
6.
object x;
async void Dosmth()
{
    Meth1async();
    x = Meth2async();
}


компилятору, чтобы проставить await для Meth2async придется узнать что где-то там будет с х, а это не всегда просто...
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682412
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНасчёт async void, ща так делать моветон :)Моветон, но он не запрещен, и в существующих проектах может присутствовать. Кроме того, это способ использовать await в обработчиках событий.
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682414
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRhVosttпропущено...


В смысле, потом? )
Никто же не запретит использовать к примеру такую "конструкцию"
Код: c#
1.
2.
3.
4.
5.
6.
object x;
async void Dosmth()
{
    Meth1async();
    x = Meth2async();
}


компилятору, чтобы проставить await для Meth2async придется узнать что где-то там будет с х, а это не всегда просто...
Не просто, но можно
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682415
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRosНужен еще анализ - есть ли обращение к TaskResult где нить

Ну это без разницы же.


Как без разницы? А если запустил и забыл? Разве тут нужен await? (я только читал, не писал)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682418
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАгнец за бортомНу так а какие аргументы еще нужны?

Код либо ждем (await)
Либо не ждём (без await) - по каким то причинам. Например - потом подождём.

Ну и всё. )

В смысле, потом? )

Ты сам сказал, собрать всё в коллекцию и дождаться их парралельно.
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682421
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosНе просто, но можно
Ну, предположим, передается в качестве параметра object несколько раз и в какой-нить н-той функции приводится к типу Task - сможет ли компилятор отследить все лабиринты мысли хитроумного разработчика?
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682423
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRViPRosНе просто, но можно
Ну, предположим, передается в качестве параметра object несколько раз и в какой-нить н-той функции приводится к типу Task - сможет ли компилятор отследить все лабиринты мысли хитроумного разработчика?
во всяком случае я бы мог это прогить :)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682426
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRНикто же не запретит использовать к примеру такую "конструкцию"
Код: c#
1.
2.
3.
4.
5.
6.
object x;
async void Dosmth()
{
    Meth1async();
    x = Meth2async();
}



компилятору, чтобы проставить await для Meth2async придется узнать что где-то там будет с х, а это не всегда просто...

Пока не понял в чём проблема. В async-блоке два вызова асинхронных методов. Надо вставить await для каждого :)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682427
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVosttНасчёт async void, ща так делать моветон :)Моветон, но он не запрещен, и в существующих проектах может присутствовать. Кроме того, это способ использовать await в обработчиках событий.

Будем говорить честно, такая возможность "оставлена" только из-за обработчиков событий :)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682428
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosКак без разницы? А если запустил и забыл? Разве тут нужен await? (я только читал, не писал)

"Запустил и забыл" нужно делать через управляемый менеджер задач, в самом примитивном случае, Task.Run.
Но это по фуншую )
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682429
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttLRНикто же не запретит использовать к примеру такую "конструкцию"
Код: c#
1.
2.
3.
4.
5.
6.
object x;
async void Dosmth()
{
    Meth1async();
    x = Meth2async();
}



компилятору, чтобы проставить await для Meth2async придется узнать что где-то там будет с х, а это не всегда просто...

Пока не понял в чём проблема. В async-блоке два вызова асинхронных методов. Надо вставить await для каждого :)
Это не очевидно
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682430
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПока не понял в чём проблема. В async-блоке два вызова асинхронных методов. Надо вставить await для каждого :)
LRНу, предположим, передается в качестве параметра object несколько раз и в какой-нить н-той функции приводится к типу Task
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682432
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомТы сам сказал, собрать всё в коллекцию и дождаться их парралельно.

Да, здесь требуется ручное управление, поэтому нужен специальный синтаксис для таких довольно редких случаев. Я не думал пока об этом )
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682433
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosЭто не очевидно

Почему? Вроде очевидно.
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682435
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

все это можно разрулить автоматом
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682436
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRНу, предположим, передается в качестве параметра object несколько раз и в какой-нить н-той функции приводится к типу Task

Тогда никак, только ручной await. Ну это совсем дикие примеры )
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682437
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRosЭто не очевидно

Почему? Вроде очевидно.
нет
там await вроде и не нужен вовсе (все зависит от того - будет ли x приведен в Task или нет)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682438
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

все это можно разрулить автоматом

Ну смотри. Если ты хочешь предоставить прикладным разработчикам некий DSL, тебе не захочется объяснять им, что если вы хотите запросить данные, вам надо это делать через жопу через некий промис, или коллбек, и оставшийся код надо поместить в коллбек, или не забудьте сделать await. И вообще сломать им голову, итак забитой под завязку предметкой.

Да, придётся рулить автоматом.
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682439
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosтам await вроде и не нужен вовсе (все зависит от того - будет ли x приведен в Task или нет)

Приведение должно быть типа таким (async Task), потому что Task ещё не говорит об асинхронности.
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682443
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRosтам await вроде и не нужен вовсе (все зависит от того - будет ли x приведен в Task или нет)

Приведение должно быть типа таким (async Task), потому что Task ещё не говорит об асинхронности.
по любому, только приведение скажет - нежен await или нет
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682444
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вощем мое имхо - компилятор мог бы обойтись без await (только одно логичное соглашение - если результат не затребован явно
или косвенно await не нужен)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682448
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosвощем мое имхо - компилятор мог бы обойтись без await (только одно логичное соглашение - если результат не затребован явно
или косвенно await не нужен)
Тогда разумно вместо await задействовать какой-нить noawait (для редких случаев) - и компилятору меньше работы, и hVostt будет удовлетворен)))
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682450
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRТогда разумно вместо await задействовать какой-нить noawait (для редких случаев) - и компилятору меньше работы, и hVostt будет удовлетворен)))

Да простого приведения было бы достаточно :)

Это как я всё жду, когда для ссылочных типов будет можно написать так:

Код: c#
1.
2.
string ! s = "blablabla";
s = null; // ERROR!



т.е. есть тип string и string! по аналогии int и int?
или наоборот string и string?

так же и с асинком (async Task)value и (Task)value, взяли и скрыли async от компилятора :)
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682455
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRViPRosвощем мое имхо - компилятор мог бы обойтись без await (только одно логичное соглашение - если результат не затребован явно
или косвенно await не нужен)
Тогда разумно вместо await задействовать какой-нить noawait (для редких случаев) - и компилятору меньше работы, и hVostt будет удовлетворен)))
угу
...
Рейтинг: 0 / 0
Зачем нужен await?
    #39682458
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следующий вопрос, может кто решал.

Как заставить компилятор вставлять ConfigureAwait(false) для всех await вызовов в рамках модуля, или хотя бы файла? :)
...
Рейтинг: 0 / 0
25 сообщений из 252, страница 5 из 11
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Зачем нужен await?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]