首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可通过命令调用的函数获得两次调用

可通过命令调用的函数获得两次调用
EN

Stack Overflow用户
提问于 2017-12-27 18:42:50
回答 1查看 104关注 0票数 2

其中一个较小的项目需要功能性changes...so,我决定也更新Gjallarhorn.Bindable.Wpf库的版本。

实际上,我只是在需要的地方添加了一个额外的参数。

但是现在应用程序不能正常工作,因为可通过命令调用的函数会被调用两次。

最起码的例子如下:

代码语言:javascript
复制
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

..。

代码语言:javascript
复制
let nav = Navigation.singleView Application MainWin
let app = app nav.Navigate
Framework.RunApplication (nav, app)

是图书馆的一个bug还是我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-28 22:06:57

这是臭虫。它在Gjallarhorn.Bindable Beta 6中得到了修正。

问题是,该框架两次采用了约束力中可观察到的框架。这通常是很好的,但在您的情况下,可观察的有一个副作用,这是多次运行。我重新设计了如何在框架中处理这个问题,以防止多个订阅,因此,如果升级到最新版本,它不应该再触发两次。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47997138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档