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

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

2
Чи є ключове слово Async await рівносильним лямбда-сигналу ContinueWith?
Чи може хтось, будь ласка, підтвердити, чи правильно я зрозумів ключове слово Async await? (Використання версії 3 CTP) До цього часу я розробив, що вставлення ключового слова await перед викликом методу, по суті, робить 2 речі: A. Це створює негайне повернення, а B. Створює "продовження", яке викликається після завершення виклику …

9
Як я можу викликати метод асинхронізації в Main?
public class test { public async Task Go() { await PrintAnswerToLife(); Console.WriteLine("done"); } public async Task PrintAnswerToLife() { int answer = await GetAnswerToLife(); Console.WriteLine(answer); } public async Task<int> GetAnswerToLife() { await Task.Delay(5000); int answer = 21 * 2; return answer; } } якщо я хочу викликати метод Go у main …

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

8
Як дізнатися, чи є функція асинхронною?
Я повинен передати функцію іншій функції і виконати її як зворотний виклик. Проблема в тому, що інколи ця функція є асинхронною, наприклад: async function() { // Some async actions } Тому я хочу виконати await callback()або callback()залежно від типу функції, яку він отримує. Чи є спосіб дізнатись тип функції ??

8
Очікуйте виклику методу Async Void для модульного тестування
У мене є метод, який виглядає так: private async void DoStuff(long idToLookUp) { IOrder order = await orderService.LookUpIdAsync(idToLookUp); // Close the search IsSearchShowing = false; } //Other stuff in case you want to see it public DelegateCommand<long> DoLookupCommand{ get; set; } ViewModel() { DoLookupCommand= new DelegateCommand<long>(DoStuff); } Я намагаюся модульно …

4
Розуміння async / await у C #
Я починаю дізнаватися про async / await у C # 5.0, і я його взагалі не розумію. Я не розумію, як це можна використовувати для паралелізму. Я спробував наступну дуже базову програму: using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ConsoleApplication1 { class …
75 c#  async-await 

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 …

3
Чому продовження Task.WhenAll виконується синхронно?
Щойно я зробив цікаве спостереження щодо 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> …
11 rust  async-await 

7
Як заблокувати потік коду, поки подія не буде запущена в C #
Тут ми маємо Gridс Button. Коли користувач натискає кнопку, виконується метод класу Utility, який змушує програму отримувати клацання на Grid. Потік коду повинен зупинитися тут і не тривати, поки користувач не натисне на Grid. У мене раніше було подібне питання: Зачекайте, поки користувач натисне C # WPF У цьому питанні …

1
Повернення IAsyncEnumerable <T> і NotFound з контролера Asp.Net Core
Який правильний підпис для дії контролера, який повертає значення IAsyncEnumerable&lt;T&gt;a і a, 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 …

1
Як використовувати fust 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 …

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