Wir alle wussten, Async Await wegen möglich gemacht wird state in Kraft gesetzt wird, das mich für folgende Anwendungsfall zu einer Frage führen:Async/stateKopf erwarten
Public async Task<string> GetTotal(string p1)
{
Return await GetTotal(p1,””);
}
Public async Task<string> GetTotal(string p1, string p2)
{
Return await GetTotal(p1,””,””);
}
Public async Task<string> GetTotal(string p1, string p2, string p3)
{
Return await GetTotal(p1,””,””, “”);
}
Public async Task<string> GetTotal(string p1, string p2, string p3,string
p4)
{
//do some actual async calling
Return result;
}
Wenn es keine async/await in Bild, der obige Code ist absolut normal, aber für async/erwarten, sollten wir Codierungsmuster wie oben aufgeführt vermeiden, im Grunde, sollten wir versuchen, State Machines zu vermeiden, wenn wir nicht müssen?
Public async Task<string> GetTotal(string p1)
{
//do some actual async calling
Return result;
}
Public async Task<string> GetTotal(string p1, string p2)
{
//do some actual async calling
Return result;
}
Public async Task<string> GetTotal(string p1, string p2, string p3)
{
//do some actual async calling
Return result;
}
Public async Task<string> GetTotal(string p1, string p2, string p3,string
p4)
{
//do some actual async calling
Return result;
}
nicht 'await' Verwenden Sie, wenn Sie nicht brauche es wirklich. Eine Funktion ohne "erwarten" in ihrem Körper sollte nicht einmal "async" auf sie angewendet haben. – xxbbcc
FWIW, ich sehe diese Frage und die verknüpfte nicht als exakte Duplikate, und es gibt * eine Menge *, die speziell über den Overhead * gesagt werden kann, der in der anderen Frage nicht wirklich relevant (oder gegenwärtig) ist. –
Ich überlegte, wieder zu öffnen, aber wir haben bereits https://Stackoverflow.com/q/37861864/ –