我一直在想...
新的 Async 结构实际上是否允许中间结果,而无需在消费者端编写新代码?
让我用一个例子来详细说明。
假设我们有一个方法可以将数据下载到字节数组或流中,以哪个更好。
是否有可能,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
通过转账。我在监督什么吗?