- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我不断寻求减少吸吮的过程中,我试图理解 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/
在我不断寻求减少吸吮的过程中,我试图理解 Rx.net 的 FirstAsync() 语法。大多数文档都是针对已弃用的 First() 如果我理解正确的话,它允许我在流中的第一个元素到达时立即启动流。
我有一些软件使用基于事件的网络协议(protocol)进行控制,它使用 IObservable用于处理绑定(bind)消息。 在许多情况下,发送的消息需要特定的响应(或顺序,例如报告进度)。为了不至于
public async Task GetParagemRegistoOnGoingAsync(int registoId) { return await = _context.P
我是一名优秀的程序员,十分优秀!