Вопросы с тегом «async-await»

Это охватывает модель асинхронного программирования, поддерживаемую различными языками программирования с использованием ключевых слов async и await.

20
Использование async / await с циклом 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» и «await»
Из моего понимания одной из главных вещей , которые asyncиawait делает это , чтобы сделать код легко писать и читать - но используют их равный нерест фоновых потоков для выполнения длинной логики продолжительности? Я сейчас пробую самый простой пример. Я добавил несколько комментариев. Можете ли вы уточнить это для меня? …

16
Как вызвать асинхронный метод из синхронного метода в C #?
У меня есть public async void Foo()метод, который я хочу вызвать из синхронного метода. До сих пор все, что я видел из документации MSDN, это вызов асинхронных методов через асинхронные методы, но вся моя программа не построена с асинхронными методами. Это вообще возможно? Вот один пример вызова этих методов из …
865 c#  async-await 

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

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


9
Если мой интерфейс должен вернуть Task, каков наилучший способ реализации без операции?
В приведенном ниже коде из-за интерфейса класс LazyBarдолжен возвращать задачу из своего метода (и ради аргументов не может быть изменен). Если LazyBarреализация s необычна в том смысле, что она выполняется быстро и синхронно - каков наилучший способ вернуть задачу No-Operation из метода? Я пошел с Task.Delay(0)ниже, однако я хотел бы …

5
Использование async / await для нескольких задач
Я использую клиент 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, каков правильный / …

6
Task.Result - это то же самое, что .GetAwaiter.GetResult ()?
Недавно я читал код, в котором используется много асинхронных методов, но иногда их нужно выполнять синхронно. Код делает: Foo foo = GetFooAsync(...).GetAwaiter().GetResult(); Это то же самое, что Foo foo = GetFooAsync(...).Result;
360 c#  async-await 

8
Почему я не могу использовать оператор 'await' в теле оператора блокировки?
Ключевое слово await в C # (.NET Async CTP) не допускается из оператора блокировки. Из MSDN : Выражение await нельзя использовать в синхронной функции, в выражении запроса, в блоке catch или finally оператора обработки исключений, в блоке оператора блокировки или в небезопасном контексте. Я предполагаю, что это или сложно или …
349 c#  .net  async-await 

4
WaitAll vs WhenAll
В чем разница между Task.WaitAll()и Task.WhenAll()из Async CTP? Можете ли вы предоставить пример кода для иллюстрации различных вариантов использования?

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-await
Я хотел бы спросить вас о вашем мнении о правильной архитектуре, когда использовать Task.Run. Я испытываю медленный пользовательский интерфейс в нашем приложении WPF .NET 4.5 (с платформой Caliburn Micro). В основном я делаю (очень упрощенные фрагменты кода): public class PageViewModel : IHandle&lt;SomeMessage&gt; { ... public async void Handle(SomeMessage message) { …

6
HttpClient.GetAsync (…) никогда не возвращается при использовании await / async
Изменить: Этот вопрос выглядит, как будто это может быть та же проблема, но не имеет ответов ... Изменить: в тестовом примере 5 задача застряла в WaitingForActivationсостоянии. Я столкнулся с каким-то странным поведением при использовании System.Net.Http.HttpClient в .NET 4.5, где «ожидание» результата вызова (например) httpClient.GetAsync(...)никогда не вернется. Это происходит только при …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.