我有像
这样的代码BusManager.OrderShouldBeCreated.Subscribe(orderShouldBeCreated =>BusManager.PublishAsync(new OrderCreated());
BusManager.PublishAsync(new OrderShouldBeCreated());
异步发布事件,然后它们推进我的BusManager序列(OrderShouldBeCreated,OrderCreated)。现在等待OrderCreated OnNext我在上面的调用之后使用了以下内容。
await Task.WhenAll(
BusManager.OrderShouldBeCreated.ToTask(),
BusManager.OrderCreated.ToTask());
我想尽可能使用普通的RX并以某种方式组成序列并删除Task.WhenAll和ToTask调用。
答案 0 :(得分:0)
只需翻译你的内容,你最终会得到
await Observable.Merge(
BusManager.OrderShouldBeCreated.LastAsync(),
BusManager.OrderCreated.LastAsync()
)
.Take(2);
为了进一步帮助您,您必须扩展您提供的内容。