line-seq freezes on java.io.BufferedReader in clojure
我正在尝试使用clojure处理HTTP流。
我能够将流写入文件,但是我正在尝试使用core.async处理消息。
我在这里遵循了这个答案:
在Clojure中处理来自HTTP服务器的消息流
但是,当我在java.io.BufferedReader上调用(line-seq)时,它会冻结。
1 2 3 4 5 6 7 8 9 10 | (defn trades-stream [] (let [session (new-session) {:keys [url sessionid]} (:stream session) dump-url (str url"?sessionid=" sessionid"&symbols=mu" ) lines (-> dump-url (client/get {:as :stream}) :body io/reader)] (line-seq lines ))) |
知道我该如何处理吗? 谢谢!
请注意,
1 | (println (first (line-seq lines))) |
要么
1 | (reduce conj [] (line-seq lines)) ; then print something |
您也可以使用