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

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

2
Является ли ключевое слово Async await эквивалентом лямбда-выражения ContinueWith?
Может ли кто-нибудь быть достаточно любезным, чтобы подтвердить, правильно ли я понял ключевое слово Async await? (Используется версия 3 ОСАГО) До сих пор я выяснил, что вставка ключевого слова await перед вызовом метода, по сути, делает 2 вещи: A. Он создает немедленный возврат и B. Он создает «продолжение», которое вызывается …

3
Почему нельзя распознать модульные тесты async void?
async void модульные тесты нельзя запускать в Visual Studio 2012: [TestClass] public class MyTestClass { [TestMethod] public async void InvisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } } Если я хочу иметь асинхронный модульный тест, метод теста должен возвращать Task: [TestMethod] public async Task VisibleMyTestMethod() { await Task.Delay(1000); Assert.IsTrue(true); } Почему это …

5
Асинхронная функция с + =
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); Выполнить фрагмент кодаСкрыть результатыРазвернуть фрагмент Значения xвошли в систему 1и 5. Мой вопрос: почему значение x 5второго журнала? Если testпосле выполняется x += 1(так как это асинхронная …

4
Правильный способ обработки исключений в AsyncDispose
При переходе на новые .NET Core 3 IAsynsDisposableя наткнулся на следующую проблему. Суть проблемы: если DisposeAsyncвыбрасывает исключение, это исключение скрывает любые исключения, созданные внутри await using-блока. class Program { static async Task Main() { try { await using (var d = new D()) { throw new ArgumentException("I'm inside using"); } …

3
Почему продолжения Task.When Все выполняются синхронно?
Я только что сделал любопытное замечание относительно Task.WhenAllметода при работе на .NET Core 3.0. Я передал простую Task.Delayзадачу в качестве единственного аргумента Task.WhenAllи ожидал, что завернутая задача будет вести себя идентично исходной задаче. Но это не так. Продолжения исходной задачи выполняются асинхронно (что желательно), а продолжения кратныTask.WhenAll(task) оболочек выполняются синхронно …

2
Использование для ожидания ... с синхронными итерациями
MDN говорит, что for await...of есть два варианта использования: for await...ofОператор создает петлю итерации асинхронной итерации объектов, а также на итерируемых синхронизации, ... Ранее я знал о первом: использование асинхронных итераций Symbol.asyncIterator. Но сейчас меня интересует последнее: синхронные итерации. Следующий код выполняет итерацию по синхронной итерации - массиву обещаний. Похоже, …

1
Как я могу поместить асинхронную функцию на карту в Rust?
Я не могу обработать асинхронные функции при записи асинхронного маршрутизатора для hyper. Этот код: use std::collections::HashMap; use std::future::Future; type BoxedResult<T> = Result<T, Box<dyn std::error::Error + Send + Sync>>; type CalcFn = Box<dyn Fn(i32, i32) -> dyn Future<Output = BoxedResult<i32>>>; async fn add(a: i32, b: i32) -> BoxedResult<i32> { Ok(a + …
11 rust  async-await 

7
Как заблокировать поток кода, пока не произойдет событие в C #
Здесь у нас есть Gridс собой Button. Когда пользователь нажимает кнопку, выполняется метод в классе Utility, который заставляет приложение получать щелчок по Grid. Поток кода должен останавливаться здесь и не продолжаться до тех пор, пока пользователь не нажмет на Grid. У меня был подобный вопрос, прежде чем здесь: Подождите, пока …

1
Возвращение IAsyncEnumerable <T> и NotFound из основного контроллера Asp.Net
Какова правильная подпись для действия контроллера, которое возвращает IAsyncEnumerable&lt;T&gt;и, NotFoundResultно все еще обрабатывается асинхронно? Я использовал эту подпись, и она не компилируется, потому что IAsyncEnumerable&lt;T&gt;не является ожидаемой: [HttpGet] public async Task&lt;IActionResult&gt; GetAll(Guid id) { try { return Ok(await repository.GetAll(id)); // GetAll() returns an IAsyncEnumerable } catch (NotFoundException e) { return …

1
Как использовать Rust async fn, который принимает ссылку в качестве обратного вызова?
async fnвозвращает реализованный анонимный тип Future, поэтому, если мы хотим использовать его в качестве обратного вызова, нам нужно преобразовать возвращаемое значение в объект-признак. Я пытался написать функцию, чтобы сделать это, но у меня были некоторые проблемы на всю жизнь. async fnвернет время жизни всех параметров, так что подпись обратного вызова …
10 rust  async-await 

2
Шаблон для делегирования асинхронного поведения в C #
Я пытаюсь создать класс, который предоставляет возможность добавлять проблемы асинхронной обработки. В синхронном программировании это может выглядеть так public class ProcessingArgs : EventArgs { public int Result { get; set; } } public class Processor { public event EventHandler&lt;ProcessingArgs&gt; Processing { get; } public int Process() { var args = …

3
Как объявить незапущенную задачу, которая будет ожидать другую задачу?
Я провел этот модульный тест, и я не понимаю, почему "await Task.Delay ()" не ждет! [TestMethod] public async Task SimpleTest() { bool isOK = false; Task myTask = new Task(async () =&gt; { Console.WriteLine("Task.BeforeDelay"); await Task.Delay(1000); Console.WriteLine("Task.AfterDelay"); isOK = true; Console.WriteLine("Task.Ended"); }); Console.WriteLine("Main.BeforeStart"); myTask.Start(); Console.WriteLine("Main.AfterStart"); await myTask; Console.WriteLine("Main.AfterAwait"); Assert.IsTrue(isOK, "OK"); …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.