私は疑問に思っていました...
新しい非同期コンストラクトは、コンシューマー側で新しいコードを記述せずに、実際に中間結果を可能にしますか?
例を挙げて詳しく説明します。
データをバイト配列またはストリームのどちらか良い方にダウンロードするメソッドがあるとしましょう。
組み込みの非同期機能を使用してダウンロードが完了する前に、そのawait
メソッドがバイト配列またはストリームの消費を開始する可能性はありますか?私にできることは、ストリームの特定の部分がダウンロードされるたびにイベントを発生させることですが、それは再び混乱を増やします。
await
edメソッドがそのような結果を返すことを考えると、中間結果が得られると期待するコード例(頭のてっぺんから、正しいコードではありません!)を書いてみましょう。
io.Stream data = await downloadData();
byte[4096] buffer = new byte[4096];
while (!data.EOF) {
(await?) data.Read(buffer, offset, 4096);
}
今のところ、待ちきれませんStream.Read
が、これを行う方法はありますか?乗り換えができるようになりたいです。私は何かを監督していますか?await