gpt4 book ai didi

c# - FirstAsync 是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 21:11:54 24 4
gpt4 key购买 nike

在我不断寻求减少吸吮的过程中,我试图理解 Rx.net 的 FirstAsync() 语法。大多数文档都是针对已弃用的 First()
如果我理解正确的话,它允许我在流中的第一个元素到达时立即启动流。

假设我有一个流 myStream 并且我想启动一个流,该流采用第一个元素并基于该元素启动一个流。在我的例子中,它将是一个流。
我希望它这样做:

---1-2->
---A--->

我该怎么做?

myStream.FirstAsync().Return(() => return "A"); // doesn't compile

最佳答案

我不知道为什么其他两个答案都在说 .FirstAsync()返回 Task (或者你应该调用 .Result )。它不返回 Task , 它返回一个 IObservable<TSource> . Observable 是可等待的,但它们不是任务。

要实现您想要的功能,请执行以下操作:myStream.FirstAsync().Select(_ => "A") .

你也可以做 myStream.Take(1).Select(_ => "A") .这与 FirstAsync 之间的区别版本,是FirstAsync如果 myStream 版本将抛出异常没有任何元素就完成了。 Take(1)将无错误地完成。

关于c# - FirstAsync 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44478157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com