.NET async / await: sollte ich in diesem Fall etwas zurückgeben?

8

In einem solchen Fall könnte meine Aufgabe aufgrund bestimmter Bedingungen sofort zurückkehren:

%Vor%

Ist es korrekt return; , sollte ich Task.FromResult(false); verwenden, oder gibt es einen korrekteren Weg?

    
Francesco B. 27.01.2016, 14:42
quelle

2 Antworten

11

Wenn Sie async verwenden, können Sie nicht explizit Task zurückgeben (siehe Bearbeiten) - der Rückgabewert wurde vom Compiler als Rückgabewert von Task eingereiht. Daher sollten sich Ihre async -Methoden wie andere Methoden und return verhalten, wenn sie früh aus der Logik herausfallen müssen.

BEARBEITEN: Das einzige Mal, dass Sie Task während eines async zurückgeben können, ist der Rückgabetyp Task<Task... . Dies würde jedoch immer noch das innere Task und nicht das äußere zurückgeben, da der Compiler dasselbe Wrapping durchgeführt hat. Dies sollte auch ein ziemlich seltener Anwendungsfall sein, im Gegensatz zu await -ing eine Kette von Task s

    
David 27.01.2016, 14:45
quelle
0

Task ist die neue void !

Bezüglich async Methoden!

    
Paulo Morgado 27.01.2016 22:44
quelle

Tags und Links