0

我正在尝试将以下代码转换为 F#:

static void Main(string[] args)
{
    var y = Observable.Create<int>(x =>
        {
            x.OnNext(5);
            return (() => { });
        });

    y.Subscribe(x => Console.WriteLine(x));
}

尝试了以下方法:

let ob = Observable.Create<int>(fun x -> 
                                    x.OnNext(5)
                                    fun unit -> unit)  

但没有成功。我应该做什么?

4

2 回答 2

6
let observable = Observable.Create(fun (x: IObserver<_>) ->
  x.OnNext(5)
  Action(ignore))

observable.Subscribe(printfn "%d") |> ignore
于 2012-12-06T15:08:37.557 回答
6

如果你的 Observable 不能被取消(通常是同步的),使用单例会更有效Disposable.Empty

Observable.Create(fun (o : IObserver<_>) -> 
    o.OnNext(5)
    Disposable.Empty
)
于 2012-12-06T15:39:55.463 回答