Синхронный запуск асинхронного кода в .NET [дубликат]C#

Место общения программистов C#
Ответить
Гость
 Синхронный запуск асинхронного кода в .NET [дубликат]

Сообщение Гость »


Я знаю, что этого следует избегать любой ценой, но иногда это просто необходимо: нам нужно синхронно запускать асинхронный код. Я хотел бы знать, есть ли какие-либо различия и/или существует ли предпочтительный подход к этим двум частям кода или есть ли какая-либо альтернатива, которая лучше:

Задача задача = ...; //#1 Task.Run(async() => { дождитесь задачи.ProcessAsync(); }).GetAwaiter().GetResult(); Или просто:

//#2 Task.ProcessAsync().GetAwaiter().GetResult(); Вариант №1 использует ключевые слова async/await и весь связанный с ним синтаксический сахар, но не уверен, что это обязательно сделает его лучше.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»