可通过命令调用的函数获取调用次数

其中一个较小的项目需要功能更改...所以我决定更新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

回到顶部