Использование async без ожидания
Я хотел бы сделать функцию async, поэтому я просто добавляю async
следующим образом:
public async static void something(){
}
Вы можете видеть, что его возвращаемый тип void
. Я просто хочу, чтобы эту функцию вызывали асинхронно без блокировки, так как return void
, поэтому нет await
.
Но Visual Studio 2012 просто не может скомпилировать это, он говорит, что я пропустил await
?
Не могли бы вы посоветовать образец, который выполняет функцию async
без использования await
.
Ответы
Ответ 1
Я думаю, что, возможно, вы не понимаете, что делает async
. Предупреждение верно: если вы пометили свой метод async
, но не используете await
в любом месте, то ваш метод не будет асинхронным. Если вы его вызываете, весь код внутри метода будет выполняться синхронно.
Кроме того, вы должны стараться избегать использования методов async void
, они затрудняют обработку исключений.