Вопрос новичка Rx. Я хочу написать метод, подобный следующему:
public IObsevable<Unit> Save(object obj)
{
var saveFunc = Observable.FromAsyncPattern(...);
saveFunc(obj).Subscribe(result =>
{
Process(result);
return Observable.Return(new Unit());
});
}
Основная идея: сохранить данный объект, обработать результаты в моем «внутреннем» продолжении, а затем разрешить выполнение «внешнего» продолжения вызывающего. Другими словами, я хочу связать два продолжения вместе, чтобы второе не выполнялось, пока не закончится первое.
К сожалению, приведенный выше код не компилируется, поскольку внутреннее продолжение должно возвращать void, а не IObservable. Плюс, конечно, возвращение наблюдаемого модуля из лямбды - это не то же самое, что возвращение его из содержащей функции, что мне действительно нужно сделать. Как я могу переписать этот код так, чтобы он правильно возвращал наблюдаемый модуль? Спасибо.