Rx.Net на данный момент не имеет эквивалента concatMap, но наверняка есть способ получить аналогичное поведение, учитывая доступную функциональность.У меня сейчас observable.SelectMany(x => ProcessItemAsync(item).ToObservable())
, где ProcessItemAsync
- это асинхронный метод, который я хотел бы выполнить по порядку, а не для всех элементов сразу.
Если я правильно понимаю Rx, observable.ConcatMap(x => ProcessItemAsync(item).ToObservable())
должен сделать это, но в настоящее время его нет в Rx.Net, так что может быть еще одним способом достижения того же поведения?
У меня может быть несколько источников для наблюдаемых, и каждый из этих источников можетвыполнить ProcessItemAsync
параллельно, это должно быть только в потоке, чтобы сохранить порядок ввода / вывода, поэтому я не могу заблокировать его на ProcessItemAsync