gpt4 book ai didi

.net - 将两个 observables 与两者之间的 Action 连接起来

转载 作者:行者123 更新时间:2023-12-01 12:58:33 25 4
gpt4 key购买 nike

我是 rx 的新手,所以问题不断出现:)

我有两个可观察序列,首先我想运行一个完成,然后开始订阅另一个(它们都是冷的)。我相信 Concat() 会这样做(如果我错了请纠正我)。

但是,如果我想在第一个完成后、另一个开始之前做“某事”怎么办 - 例如将某些内容记录到控制台?

我的代码非常简单:

var subject = new ReplaySubject<IResponse>();
observable1
.Concat(observable2)
.Subscribe(
subject.OnNext,
() =>
{
subject.OnCompleted();
});

我可以这样做吗?

最佳答案

Do 运算符非常适合日志记录,并且具有与 Subscribe 运算符相同的方法签名,因此您可以执行 OnNext、OnError 和 OnComplete 操作。

  var observable1 = Observable.Range(0,10);
var observable2 = Observable.Range(10, 10);

observable1.Do(_ => { },
() => Console.WriteLine("Log First Sequence Complete"))
.Concat(observable2)
.Subscribe(i => Console.WriteLine("On Next Value {0}", i),
() => Console.WriteLine("Log Both Sequences Complete"));

关于.net - 将两个 observables 与两者之间的 Action 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243190/

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