パラメータを渡しても大丈夫awaitですか?これを行うことの長所と短所は何ですか?
var results = MapResults(await GetDataAsync());
2
あなたがしていることはすべて、パラメーターを渡す前にタスクを解決することです。var x = await GetDataAsyncとまったく同じです。var results = MapResults(x); 違いはありません。通常は、自分で実装するコーディングガイドライン
—
Heinrich
コードの可読性。それは文字通り同じです
—
Zer0
var result = await GetDataAsync(); var map = MapResults(result)
@ Zer0どれが読み取り可能で、varの結果があるのですか?または単一行?
—
ドリューアギレ
@Heinrichうん、私はあなたに同意します。私は、コードに単一行を実行するためのいくつかの悪い習慣を適用していることを心配しています。
—
Drew Aguirre
@DrewAguirre:これらの最後の2つは完全に異なり、ラターを実行してはなりません。それが明確だったといいのですが。前者は非同期待機を行います。後者は、非同期ワークフローで同期待機を行います。ここで、非同期ワークフローが、現在のスレッドで将来的に作業をスケジュールするとします。同期待機は、「このスレッドが将来実行する作業が完了するまでこのスレッドをスリープする」ことを意味し、明らかに永久にスリープします。
—
Eric Lippert