„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Async/wartet in C#: direkt zur Aufgabe zurückkehren oder warten?

Async/wartet in C#: direkt zur Aufgabe zurückkehren oder warten?

Gepostet am 2025-04-29
Durchsuche:688

Async/Await in C#: Return Task Directly or Await?

Consequences of Returning vs. Awaiting at the End of an Async Method

In an async method that returns a Task, you have two options for handling subsequent async calls:

Option A: Return the Task Direkt

Task FooAsync()
{
    return BazAsync();
}

Option B: Warte auf die Aufgabe und return

async Task BarAsync()
{
    await BazAsync();
}

Konsequenzen von Option a (direkt zurückkehren)

  • vorteil: Benötigt weniger Boilerplate -Code und erstellt eine weniger Aufgabe. synchron.
  • Diese Option ist geeignet, wenn Ihre Methode eine kleine Menge von synchronen Arbeiten ausführt und dann eine einzelne asynchriegrenze Methode aufruft. asynchron.
Nachteile:

mehr verbose codes und erstellt eine zusätzliche task.

Diese Option ist vorzuziehen, wenn:

    Ihre Methode muss zusätzliche Asynchronen -Operationen ausführen. Ausnahmen, die in der asynchronen Methode asynchron aufgewendet werden. Dies würde zu einer Rückgabetyp von Task führen, was nicht zulässig ist.
  • Zusammenfassend ist die Entscheidung zwischen direkter Rückgabe oder Warten von den spezifischen Anforderungen Ihrer Methode ab. Betrachten Sie die Codestruktur, das Potenzial für Ausnahmen und das gewünschte Verhalten Ihrer Anwendung, wenn Sie diese Wahl treffen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3