【问题标题】:Any examples of Reactive Extensions for Javascript + WCF?Javascript + WCF 的响应式扩展的任何示例?
【发布时间】:2011-04-05 13:28:46
【问题描述】:

我了解Javascript examples 背后的基础知识,但我很难理解这将如何与 WCF 一起使用。我的目标是启用 COMET(HTTP 推送)样式访问我的数据,但我不确定 Rx 是否是正确的技术。

如何在 WCF 中使用 Javascript Rx 扩展?

【问题讨论】:

    标签: javascript wcf comet system.reactive reverse-ajax


    【解决方案1】:

    WCF 是否支持 HTTP 推送?将任意回调转换为 Rx Observable 相当容易,我是这样做的(在 Coffeescript 中):

    this.createRxCallback = () ->
      subj = new Rx.Subject()
      subj.callback = (params...) -> subj.OnNext(params)
      return subj
    

    然后你可以使用任何需要回调的函数,比如 Socket.io 中的这个例子:

    socket = new io.Socket {node_server_url}
    socket.connect()
    
    myCoolObservable = createRxCallback()
    socket.on 'message', myCoolObservable.callback
    
    myCoolObservable.Subscribe (x) ->
      console.log x
    

    或者一个简单的例子:

    clickObservable = createRxCallback()
    document.addEventListener 'myButton', clickObservable.callback, true
    
    clickObservable.Subscribe (x) ->
      console.log "Button was clicked!"
    

    【讨论】:

    • 我以前从未使用过咖啡脚本;那是我应该学习而不是深入学习 Javascript 的东西吗?我主要是 C# 人
    • 由于我使用的是Azure,TCP Socket绑定的后端节点可​​能会重启。我应该如何处理这个错误?
    • @makerofthings7 Coffeescript 是 Javascript 的“方言”——尽管我不知道对 ASP.NET 有多少支持(即即时翻译咖啡 -> js),但它绝对值得学习——由于 RxJS 对 lambda 表达式的严重依赖,它使 RxJS 的使用更加简洁。
    • 这仍然让我感到困惑...有人可以发布一个 javascript 示例吗?据我所知,XMLHttpRequest 是我们可以获得的最接近套接字的...
    • 此代码不再起作用 subj.OnNext(params) 需要为 subj.onNext(params)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多