Als «async-await» getaggte Fragen

Dies umfasst das asynchrone Programmiermodell, das von verschiedenen Programmiersprachen unter Verwendung der Schlüsselwörter async und wait unterstützt wird.

5
Asynchrone Funktion mit + =
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); Führen Sie das Code-Snippet ausErgebnisse ausblendenErweitern Sie das Snippet Die Werte von xprotokolliert sind 1und 5. Meine Frage ist: Warum ist der Wert von x 5im zweiten …

4
Richtige Behandlung von Ausnahmen in AsyncDispose
Beim Wechsel zu den neuen .NET Core 3 IAsynsDisposablebin ich auf das folgende Problem gestoßen. Der Kern des Problems: Wenn DisposeAsynceine Ausnahme ausgelöst wird, werden durch diese Ausnahme alle innerhalb von await using-block ausgelösten Ausnahmen ausgeblendet. class Program { static async Task Main() { try { await using (var d …

3
Warum werden die Fortsetzungen von Task.WhenAll synchron ausgeführt?
Ich habe gerade eine merkwürdige Beobachtung bezüglich der Task.WhenAllMethode gemacht, als ich unter .NET Core 3.0 lief. Ich habe eine einfache Task.DelayAufgabe als einzelnes Argument übergeben Task.WhenAllund erwartet, dass sich die umschlossene Aufgabe identisch mit der ursprünglichen Aufgabe verhält. Dies ist jedoch nicht der Fall. Die Fortsetzungen der ursprünglichen Aufgabe …

2
Verwenden für for await… von mit synchronen iterables
Laut MDN gibt for await...of es zwei Anwendungsfälle: Die for await...ofAnweisung erstellt eine Schleife, die sowohl über asynchrone iterierbare Objekte als auch über synchronisierte iterierbare Objekte iteriert. Ersteres war mir vorher bekannt: asynchrone iterables using Symbol.asyncIterator. Aber ich interessiere mich jetzt für Letzteres: synchrone Iterables. Der folgende Code iteriert über …

1
Wie kann ich eine asynchrone Funktion in eine Karte in Rust einfügen?
Ich kann keine asynchronen Funktionen verarbeiten, wenn ich einen asynchronen Router für schreibe hyper. Dieser Code: 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 

1
Rückgabe von IAsyncEnumerable <T> und NotFound vom Asp.Net Core Controller
Was ist die richtige Signatur für eine Controller-Aktion, die ein IAsyncEnumerable&lt;T&gt;und ein zurückgibt, NotFoundResultaber dennoch asynchron verarbeitet wird? Ich habe diese Signatur verwendet und sie wird nicht kompiliert, weil sie IAsyncEnumerable&lt;T&gt;nicht erwartet werden kann: [HttpGet] public async Task&lt;IActionResult&gt; GetAll(Guid id) { try { return Ok(await repository.GetAll(id)); // GetAll() returns an …



2
Muster zum Delegieren von asynchronem Verhalten in C #
Ich versuche, eine Klasse zu entwerfen, die die Möglichkeit bietet, Bedenken hinsichtlich der asynchronen Verarbeitung hinzuzufügen. Bei der synchronen Programmierung könnte dies so aussehen public class ProcessingArgs : EventArgs { public int Result { get; set; } } public class Processor { public event EventHandler&lt;ProcessingArgs&gt; Processing { get; } public …

3
Wie deklariere ich eine nicht gestartete Aufgabe, die auf eine andere Aufgabe wartet?
Ich habe diesen Unit-Test durchgeführt und verstehe nicht, warum das "Warten auf Task.Delay ()" nicht wartet! [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, …

1
Warum wartet Task.Run () nicht auf die Synchronisierung mit dem UI-Thread / Ursprungskontext?
Ich dachte, ich hätte das asynchrone Wartemuster und die Task.RunOperation verstanden. Ich frage mich jedoch, warum im folgenden Codebeispiel die awaitSynchronisierung nach der Rückkehr von der abgeschlossenen Aufgabe nicht wieder mit dem UI-Thread synchronisiert wird. public async Task InitializeAsync() { Console.WriteLine($"Thread: {Thread.CurrentThread.ManagedThreadId}"); // "Thread: 1" double value = await Task.Run(() …

4
Umgang mit mehreren Wartezeiten in der asynchronen Funktion
Ich muss mehrere API-Aufrufe durchführen, die über eine API abgerufen, Daten über die API in die Datenbank geschrieben und die Ausgabe über eine andere API an das Front-End gesendet werden. Ich habe eine asynchrone Funktion mit Warten wie unten geschrieben - Die ersten beiden sollten nacheinander ausgeführt werden, die dritte …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.