Skip to content

Instantly share code, notes, and snippets.

@mattpodwysocki
Created September 22, 2012 04:37
Show Gist options
  • Save mattpodwysocki/3765128 to your computer and use it in GitHub Desktop.
Save mattpodwysocki/3765128 to your computer and use it in GitHub Desktop.
(ns rxjshello
(:require [cljs.nodejs :as nodejs]))
(def rx (nodejs/require "rx"))
(defn return-value [value]
(rxjshello/rx/Observable/returnValue value))
(defn throw-exception [err]
(rxjshello/rx/Observable/throwException err))
(defn create-observer [n, e, c]
(rxjshello/rx/Observer/create n e c))
(defn on-next [x]
(println (str "Next: " x)))
(defn on-error [e]
(println (str "Error: " e)))
(defn on-completed []
(println "Completed"))
(defn -main [&args]
(comment return single value)
(def observer1 (create-observer on-next on-error on-completed))
(def observable1 (return-value 42))
(def subscription1 (.subscribe observable1 observer1))
(comment throw exception)
(def observer2 (create-observer on-next on-error on-completed))
(def observable2 (throw-exception "Error"))
(def subscription2 (.subscribe observable2 observer2)))
(set! *main-cli-fn* -main)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment