in Rx , следующий код, кажется, не вызывает мое действие OnCompleted?
Нет «Последовательность завершена»
static void Main(string[] args)
{
var list = new List<int> { 1, 2, 3 };
var obs = list.ToObservable();
IDisposable subscription = obs.SubscribeOn(Scheduler.NewThread).Subscribe(p =>
{
Console.WriteLine(p.ToString());
Thread.Sleep(200);
},
p => Console.WriteLine("Sequence completed"));
Console.ReadLine();
subscription.Dispose();
}
Я что-то делаю глупо, так как в окне консоли не напечатано "Sequence Completed" после 3?
Консольный вывод
1
2
3
_
Итак, основной вопрос моего вопроса как запустить некоторый код после итерации этого типа последовательности ?
- например. как выполнить
Console.WriteLine("Sequence completed"))
после того, как все элементы в исходном списке были соблюдены ?
- Обратите внимание, что
.ToObservable
происходит от IEnumerable
(в данном случае List<>
)
- А подписка запускается на
NewThread