可通过命令调用的函数获取调用次数
其中一个较小的项目需要功能更改...所以我决定更新Gjallarhorn.Bindable.Wpf库的版本。可通过命令调用的函数获取调用次数
实际上,我只是在需要的地方添加了一个附加参数。
但是现在应用程序无法正常工作,因为可以通过命令调用的函数获得两次调用。
最小例子如下:
type Message = |Number of int let rand = Random()
let mbindings _ source _ =
let getNumber() =
let number = rand.Next()
printfn "RAND = %A" number //print a number twice
number |> Some
[
Bind.Explicit.createCommand "NewNumber" source
|> Observable.map (fun _ -> getNumber())
|> Observable.toMessage Number
]
let mcomponent : IComponent<int, obj, Message> =
Component.fromExplicit mbindings
let app nav =
let model = 42
let update message _ =
match message with
|Number number -> number
Framework.application model update mcomponent nav
...
let nav = Navigation.singleView Application MainWin let app = app nav.Navigate
Framework.RunApplication (nav, app)
它是一个错误在图书馆或我错过了什么?
回答:
这是a bug。已在Gjallarhorn.Bindable Beta 6中更正。
问题在于框架在绑定中订阅了两次observable。这通常很好,但在你的情况下,observable有一个副作用,它会多次运行。我重新修改了在框架中如何处理这些内容以防止多次订阅,因此如果升级到最新版本,它不应再触发两次。
以上是 可通过命令调用的函数获取调用次数 的全部内容, 来源链接: utcz.com/qa/266960.html