sliva/src/sliva/socket.cljs

36 lines
1.1 KiB
Clojure

(ns sliva.socket
(:require [chord.client :refer [ws-ch]]
[cljs.core.async :refer [<! >! put! close!]]
[sliva.data :refer [vtic]])
(:require-macros [cljs.core.async.macros :refer [go go-loop]]))
;; Zacetek ;;
;;(aset js/document "onreadystatechange"
;; (fn []
;; (if (= (.-readyState js/document) "complete")
;; (do
;; (start-render)
;; (render)
;; (websocket-init)))))
(defn websocket-init []
(console.log "init webscoket")
(go (let [{:keys [ws-channel error]} (<! (ws-ch "ws://localhost:3449/ws"))]
(if-not error
(do
(reset! vtic ws-channel)
(>! ws-channel "Hello server")
;; (go-loop []
;; (let [{:keys [message]} (<! ws-channel)]
;; (console.log "got msg" message)
;; (socket-handler message)
;; (recur))))
)
(js/console.log "Fejl websocket: " (pr-str error))))))
(defn click-test []
(.addEventListener js/window "click" (fn []
(go []
(>! @vtic "ping")))))