Re: [RX.NET] Странности с ForkJoin
От: Пельмешко Россия blog
Дата: 08.10.10 10:21
Оценка: 19 (2) +1
Здравствуйте, Константин Л., Вы писали:

КЛ>При пустой цепочке IObservable ForkJoin зависает навсегда:


КЛ>

КЛ>void Test()
КЛ>{
КЛ>   var list = Observable.ForkJoin(new string[] { null, null }.Where(s => s != null).Select(s => Observable.Start(() => Check(s))));
КЛ>   var ok = list.First().All(v => v);
КЛ>}

КЛ>bool Check(string s)
КЛ>{
КЛ>   return s != null;
КЛ>}

КЛ>


Это не ForkJoin зависает, он тупо возвращает бесконечную пустую последовательность, так как на вход после Where() ему была подана пустая последовательность...
Зависает First(), синхронно ожидая первый элемент последовательности list...

Есть мнение, что это некорректный behavior оператора FormJoin (имхо логичнее ему было вернуть OnCompleted), я бы отписал на Rx Forum.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.