Запитання з тегом «async-await»

Це стосується асинхронної моделі програмування, підтримуваної різними мовами програмування, використовуючи ключові слова асинхронізація та очікування.

20
Використання async / wait за допомогою циклу forEach
Чи є проблеми з використанням async/ awaitу forEachциклі? Я намагаюся прокрутити масив файлів та awaitвміст кожного файлу. import fs from 'fs-promise' async function printFiles () { const files = await getFilePaths() // Assume this works fine files.forEach(async (file) => { const contents = await fs.readFile(file, 'utf8') console.log(contents) }) } printFiles() …

21
Як і коли використовувати "async" і "очікувати"
З мого розуміння однієї з головних речей , які asyncіawait робить це , щоб зробити код легко писати і читати - але використовують їх рівний нерест фонових потоків для виконання довгою логіки тривалості? Зараз я випробовую найосновніший приклад. Я додав кілька коментарів в рядку. Ви можете мені це уточнити? // …

16
Як викликати асинхронний метод із синхронного методу в C #?
У мене є public async void Foo()метод, який я хочу викликати з синхронного методу. Поки що все, що я бачив з документації MSDN, - це виклик методів асинхронізації через методи асинхронізації, але вся моя програма не побудована за допомогою методів асинхронізації. Це навіть можливо? Ось один приклад виклику цих методів …
861 c#  async-await 

24
Як би я синхронно запустив метод асинхронної задачі <T>?
Я дізнаюся про асинхронізацію / очікування і наткнувся на ситуацію, коли мені потрібно синхронно викликати метод асинхронізації. Як я можу це зробити? Метод асинхронізації: public async Task&lt;Customers&gt; GetCustomers() { return await Service.GetCustomersAsync(); } Нормальне використання: public async void GetCustomers() { customerList = await GetCustomers(); } Я намагався використовувати наступне: Task&lt;Customer&gt; …

4
Найкраща практика для виклику ConfigureAwait для всього коду на стороні сервера
Якщо у вас є код на стороні сервера (тобто деякий ApiController), і ваші функції асинхронні - тому вони повертаються Task&lt;SomeObject&gt;- чи вважається найкращою практикою будь-який час, коли ви очікуєте функцій, які ви викликаєте ConfigureAwait(false)? Я читав, що він є більш ефективним, оскільки йому не потрібно перемикати контексти потоків назад до …


9
Якщо мій інтерфейс повинен повернути Завдання, який найкращий спосіб не виконати операцію?
У наведеному нижче коді, завдяки інтерфейсу, клас LazyBarповинен повернути завдання зі свого методу (а для аргументів змінити не можна). Якщо LazyBarреалізація s незвична тим, що вона запускається швидко і синхронно - який найкращий спосіб повернути завдання без операції з методу? Я пішов з Task.Delay(0)нижче, однак я хотів би знати, чи …

5
Використання асинхронізації / очікування для декількох завдань
Я використовую клієнт API, який повністю асинхронний, тобто кожна операція або повертається, Taskабо Task&lt;T&gt;, наприклад: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } Використовуючи операторів асинхронізації / очікування C # 5, який є правильним / найефективнішим …

8
Чому я не можу використовувати оператора "очікувати" в тілі оператора блокування?
Ключове слово, яке очікує в C # (.NET Async CTP), не допускається з-під оператора блокування. Від MSDN : Вираз, що очікує, не може використовуватися в синхронній функції, в виразі запиту, у записі або, нарешті, в блоці оператора обробки винятків, в блоці оператора блокування або в небезпечному контексті. Я припускаю, що …
348 c#  .net  async-await 


6
Чи Task.Result такий же, як .GetAwaiter.GetResult ()?
Нещодавно я читав якийсь код, який використовує безліч методів асинхронізації, але іноді потрібно виконувати їх синхронно. Цей код: Foo foo = GetFooAsync(...).GetAwaiter().GetResult(); Це те саме, що Foo foo = GetFooAsync(...).Result;
328 c#  async-await 

11
Як безпечно викликати метод асинхронізації в C # без очікування
У мене є asyncметод, який не повертає даних: public async Task MyAsyncMethod() { // do some stuff async, don't return any data } Я називаю це іншим методом, який повертає деякі дані: public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return "hello world"; } Виклик, …

4
Синхронно чекаючи операції асинхронізації, і чому Wait () заморожує програму тут
Передмова : Я шукаю пояснення, а не просто рішення. Я вже знаю рішення. Незважаючи на те, що витратив кілька днів на вивчення статей MSDN про асинхронний візерунок на основі завдань (TAP), асинхронізуйте його та очікуйте, я все ще трохи розгублений щодо деяких тонких деталей. Я пишу реєстратор для додатків Windows …

2
Коли правильно використовувати Task.Run і коли просто async-wait
Я хотів би поцікавитись вашою думкою щодо правильної архітектури, коли користуватися Task.Run. У нашому додатку WPF .NET 4.5 (із рамкою Caliburn Micro) у мене слабкий інтерфейс користувача. В основному я роблю (дуже спрощені фрагменти коду): public class PageViewModel : IHandle&lt;SomeMessage&gt; { ... public async void Handle(SomeMessage message) { ShowLoadingAnimation(); // …

6
HttpClient.GetAsync (…) ніколи не повертається під час використання функції wait / async
Edit: Це питання буде схожий на це може бути та ж проблема, але не має жодних відповідей ... Редагувати: У тестовому випадку 5 завдання, здається, застрягло у WaitingForActivationстані. Я стикався з деякою дивною поведінкою за допомогою System.Net.Http.HttpClient в .NET 4.5 - де "очікування" результату дзвінка до (наприклад) httpClient.GetAsync(...)ніколи не повернеться. …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.