에 ClojureScript를 실행하려고
는 대상 코드를 app1.js :
(ns rxcljs.core
(:use [cljs.nodejs :only [require]])
)
(def rx (require "./lib/rx/rx.node.js"))
(def moment (require "./lib/moment/moment.js"))
(-> rx
(.Observable)
(.interval 300)
(.subscribe #(->> (->(moment)
(.format "dddd, MMMM Do YYYY, h:mm:ss a")
)
(.log js/console)
)
)
)
는 실제 컴파일 출력을 app.js : 작동하지
.....
.....
cljs.nodejs = {};
cljs.nodejs.require = require;
cljs.nodejs.process = process;
cljs.core.string_print = cljs.nodejs.require.call(null, "util").print;
var rxcljs = {core:{}};
rxcljs.core.rx = cljs.nodejs.require.call(null, "./lib/rx/rx.node.js");
rxcljs.core.moment = cljs.nodejs.require.call(null, "./lib/moment/moment.js");
rxcljs.core.rx.Observable().interval(300).subscribe(function() {
return console.log(rxcljs.core.moment.call(null).format("dddd, MMMM Do YYYY, h:mm:ss a"))
});
오류 :
/...../rxcljs/app.js:12726
rxcljs.core.rx.Observable().interval(300).subscribe(function() {
^
TypeError: Cannot call method 'interval' of undefined
제발 조언. 마이클에
대답 편집
감사 :
(ns rxcljs.core
(:use [cljs.nodejs :only [require]])
)
(def log #(.log js/console %))
(def rx (require "./lib/rx/rx.node.js"))
(def moment (require "./lib/moment/moment.js"))
(-> rx .-Observable
(.interval 300)
(.subscribe #(->> (-> (moment)
(.format "dddd, MMMM Do YYYY, h:mm:ss a")
)
(log)
)
)
)
RX 간격이 제대로 작동이 순간 포맷 출력은 여전히하지만 weired된다.
감사합니다. Michal. 기본적인 내용을 이해할 수 있지만 코드가 다소 혼란 스럽습니다. 일부 작동 코드를 게시합니다. –