单击按钮打印Observable的结果?

时间:2014-09-11 20:17:52

标签: f# system.reactive

无论如何从按钮点击打印当前观察的结果?

示例:

button.Click.Add(fun _ ->  x |>Observable.subscribe (fun x -> printfn "%A" x))

1 个答案:

答案 0 :(得分:1)

您可以在ref

中存储订阅获得的最后一个值
let curX = ref None

let subscription = x |> Observable.subscribe (fun v -> 
    lock curX (fun () -> curX := Some v)
)

button.Click.Add (fun _ ->
    match lock curX (fun () -> !curX) with
    | Some v -> printfn "X yielded \"%A\"." v
    | None -> printfn "X yielded nothing."
)
相关问题