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

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

7
ASP.NET Web API OperationCanceledException, когда браузер отменяет запрос
Когда пользователь загружает страницу, он выполняет один или несколько запросов ajax, которые попадают в контроллеры ASP.NET Web API 2. Если пользователь переходит на другую страницу до того, как эти запросы ajax завершатся, запросы отменяются браузером. Затем наш ELMAH HttpModule регистрирует две ошибки для каждого отмененного запроса: Ошибка 1: System.Threading.Tasks.TaskCanceledException: A …

4
Следует ли мне избегать обработчиков событий async void?
Я знаю, что обычно считается плохой идеей использовать async voidметоды «запустил и забыл» для запуска задач, потому что не отслеживается ожидающая задача и сложно обрабатывать исключения, которые могут возникнуть внутри такого метода. Следует ли мне вообще избегать async voidобработчиков событий? Например, private async void Form_Load(object sender, System.EventArgs e) { await …

2
Разница между await и ContinueWith
Может ли кто-нибудь объяснить, являются ли awaitи ContinueWithсинонимами или нет, в следующем примере. Я пытаюсь использовать TPL впервые, читал всю документацию, но не понимаю разницы. Жду : String webText = await getWebPage(uri); await parseData(webText); ContinueWith : Task<String> webText = new Task<String>(() => getWebPage(uri)); Task continue = webText.ContinueWith((task) => parseData(task.Result)); webText.Start(); …

7
блоки try / catch с async / await
Я копаюсь в функции async / await узла 7 и продолжаю натыкаться на такой код function getQuote() { let quote = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris …

3
Создание асинхронных реализаций интерфейса
В настоящее время я пытаюсь создать свое приложение, используя некоторые методы Async. Все мои операции ввода-вывода выполняются с помощью явных реализаций интерфейса, и я немного не понимаю, как сделать операции асинхронными. Насколько я понимаю, у меня есть два варианта реализации: interface IIO { void DoOperation(); } ВАРИАНТ 1. Выполните неявную …

6
Что означает функция приостановки в Kotlin Coroutine
Я читаю Kotlin Coroutine и знаю, что он основан на suspendфункции. Но что suspendзначит? Coroutine или функция приостанавливается? С https://kotlinlang.org/docs/reference/coroutines.html По сути, сопрограммы - это вычисления, которые можно приостановить, не блокируя поток. Я слышал, как люди часто говорят «функция приостановки». Но я думаю, что это сопрограмма, которая приостанавливается, потому что …

2
Ожидать выполненной задачи так же, как и task.Result?
В настоящее время я читаю « Поваренную книгу о параллелизме в C # » Стивена Клири и заметил следующий прием: var completedTask = await Task.WhenAny(downloadTask, timeoutTask); if (completedTask == timeoutTask) return null; return await downloadTask; downloadTaskявляется вызовом httpclient.GetStringAsyncи timeoutTaskвыполняется Task.Delay. В том случае, если он не истек, значит, downloadTaskон уже …

13
Как ограничить количество одновременных операций асинхронного ввода-вывода?
// let's say there is a list of 1000+ URLs string[] urls = { "http://google.com", "http://yahoo.com", ... }; // now let's send HTTP requests to each of these URLs in parallel urls.AsParallel().ForAll(async (url) => { var client = new HttpClient(); var html = await client.GetStringAsync(url); }); Проблема в том, что …

3
Получите TransactionScope для работы с async / await
Я пытаюсь интегрировать async/ awaitв нашу служебную шину. Я реализовал на SingleThreadSynchronizationContextоснове этого примера http://blogs.msdn.com/b/pfxteam/archive/2012/01/20/10259049.aspx . И это работает отлично, за исключением одной вещи: TransactionScope. Я жду хрень TransactionScopeи ломаюсь TransactionScope. TransactionScopeпохоже, не очень хорошо работает с async/ await, конечно, потому что он хранит вещи в потоке, используя ThreadStaticAttribute. Я …

4
Эффективно используйте async / await с веб-API ASP.NET
Я пытаюсь использовать async/awaitфункцию ASP.NET в своем проекте веб-API. Я не очень уверен, повлияет ли это на производительность моей службы веб-API. Ниже представлен рабочий процесс и пример кода из моего приложения. Рабочий процесс: Приложение пользовательского интерфейса → Конечная точка веб-API (контроллер) → Метод вызова на уровне службы веб-API → Вызов …

4
async / await неявно возвращает обещание?
Я читал, что асинхронные функции, отмеченные asyncключевым словом, неявно возвращают обещание: async function getVal(){ return await doSomethingAync(); } var ret = getVal(); console.log(ret); но это не согласовано ... при условии, что doSomethingAsync()возвращается обещание, а ключевое слово await вернет значение из обещания, а не обещание itsef, тогда моя функция getVal должна …

2
Почему я должен создавать операции async WebAPI вместо операций синхронизации?
У меня есть следующая операция в созданном мной веб-API: // GET api/<controller> [HttpGet] [Route("pharmacies/{pharmacyId}/page/{page}/{filter?}")] public CartTotalsDTO GetProductsWithHistory(Guid pharmacyId, int page, string filter = null ,[FromUri] bool refresh = false) { return delegateHelper.GetProductsWithHistory(CustomerContext.Current.GetContactById(pharmacyId), refresh); } Вызов этого веб-сервиса выполняется через вызов JQuery Ajax следующим образом: $.ajax({ url: "/api/products/pharmacies/<%# Farmacia.PrimaryKeyId.Value.ToString() %>/page/" + …

9
Можно ли «ждать yield return DoSomethingAsync ()»
Совместимы ли обычные блоки итератора (т.е. «yield return») с «async» и «await»? Это дает хорошее представление о том, что я пытаюсь сделать: async Task<IEnumerable<Foo>> Method(String [] Strs) { // I want to compose the single result to the final result, so I use the SelectMany var finalResult = UrlStrings.SelectMany(link => …

6
Разница между `return await prom` и` return prom`
Учитывая приведенные ниже примеры кода, есть ли разница в поведении, и если да, то каковы эти различия? return await promise async function delay1Second() { return (await delay(1000)); } return promise async function delay1Second() { return delay(1000); } Насколько я понимаю, в первом случае будет обработка ошибок в асинхронной функции, и …

4
Почему не все функции по умолчанию должны быть асинхронными?
Асинхронному Await модель .net 4.5 это парадигма меняется. Это слишком хорошо, чтобы быть правдой. Я портировал некоторый код с большим количеством операций ввода-вывода в async-await, потому что блокировки остались в прошлом. Довольно много людей сравнивают async-await с заражением зомби, и я обнаружил, что это довольно точно. Асинхронный код любит другой …

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