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?
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
Tags und Links c# async-await