初心者Rxの質問です。以下のようなメソッドを書きたいと思います。
public IObsevable<Unit> Save(object obj)
{
var saveFunc = Observable.FromAsyncPattern(...);
saveFunc(obj).Subscribe(result =>
{
Process(result);
return Observable.Return(new Unit());
});
}
基本的な考え方は、指定されたオブジェクトを保存し、結果を「内部」継続で処理してから、呼び出し元の「外部」継続を実行できるようにすることです。つまり、最初の継続が終了するまで 2 番目の継続が実行されないように、2 つの継続を連鎖させたいと考えています。
残念ながら、内部継続は IObservable ではなく void を返す必要があるため、上記のコードはコンパイルされません。さらに、もちろん、ラムダから監視可能な Unit を返すことは、それを含む関数からそれを返すことと同じではありません。これは、私が実際に行う必要があることです。観測可能なユニットを正しく返すように、このコードを書き直すにはどうすればよいですか? ありがとう。