我想对代理人进行Post-Fire-Reply.基本上,代理触发事件然后回复调用者.但是,我要么继续收到超时错误,要么事件无法正确触发.我尝试过Post-Fire,它停止了超时错误,但事件没有触发.
let evt = new Event<int>()
let stream = evt.Publish
type Agent<'T> = MailboxProcessor<'T>
type Fire = Fire of int
let agent = Agent.Start(fun inbox ->
let rec loop() = async {
let! msg = inbox.Receive()
let (Fire i) = msg
evt.Trigger i }
loop())
let on i fn =
stream
|> Observable.filter (fun x -> x = i)
|> Observable.filter (fun x -> x <> 1)
|> Observable.subscribe (fun x -> fn x)
let rec collatz n =
printfn …Run Code Online (Sandbox Code Playgroud)