【问题标题】:RxClojure - What's the difference between rx/return and rx/observable*?RxClojure - rx/return 和 rx/observable* 有什么区别?
【发布时间】:2016-01-04 13:35:50
【问题描述】:

我正在阅读本书 Clojure Reactive Programming(顺便说一句,这本书很棒),但我无法理解这两个创建简单 Observables 的代码示例之间的区别:

(ns rx-playground.core
    (:require [rx.lang.clojure.core :as rx]) 
    (:import [rx Observable]))

;; Sample 1
(defn simple-obs-one [n] (rx/return n))

;; Sample 2
(defn simple-obs-two [n]
    (rx/observable*
        (fn [observer]
        (rx/on-next observer n)
        (rx/on-completed observer))))

我唯一注意到的是第一个示例返回了一个类型的对象:

rx.internal.util.ScalarSynchronousObservable

当第二段代码返回一个类型的对象时:

rx.Observable

提前感谢任何可以阐明该问题的人。

【问题讨论】:

    标签: clojure reactive-programming rx-java


    【解决方案1】:

    这两种情况都返回一个 Observable,对于这个特定的示例,两者都做同样的事情:发出一个值。

    simple-obs-two 是一个示例,如果 rx 库中没有内置 rx/return,您将如何构建 rx/return。

    【讨论】:

    • 太棒了!谢谢@dAni。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 2014-05-24
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多