小编exp*_*pez的帖子

为什么NodeList/HtmlCollection不是seqable?

作为Clojurescript的新手,在我看来,每个Clojurescript项目都会有一些代码片段,如下所示:

(extend-type js/NodeList
  ISeqable
  (-seq [array] (array-seq array 0)))
Run Code Online (Sandbox Code Playgroud)

为什么不是核心库的这一部分?

clojurescript

17
推荐指数
1
解决办法
2252
查看次数

如何从clojure期货的错误中获得堆栈跟踪?

我有一些非常独立的任务,我已经使用期货分拆了.这些任务通过core.async/chan将某些事件传递回主应用程序,或者只是与数据库通信.

其中一些未来现在无声无息.我的日志中没有堆栈跟踪,或者在std {out,err}上没有堆栈跟踪.我已经尝试围绕期货所调用的fns中的代码

(try (do-stuff)
  (catch Exception e
    (log/error e))
Run Code Online (Sandbox Code Playgroud)

只是为了得到一些输出到我的日志,但是 - 令人惊讶! - 没有用.

我唯一的选择是启动另一个在循环中执行以下操作的线程吗?

(let [m (Thread/getAllStackTraces)]
    (doseq [e (.entrySet m)]
      (log/error (.toString (.getKey e)))
      (doseq [s (.getValue e)]
        (log/error " " (.toString s)))))
Run Code Online (Sandbox Code Playgroud)

这是否表明我根本不应该使用期货?我是否应该使用代理,即使不需要向这些代理发送任何消息?

concurrency clojure

4
推荐指数
1
解决办法
309
查看次数

标签 统计

clojure ×1

clojurescript ×1

concurrency ×1