我想在我的clojure程序中使用很多反应(数据流)类型编程技术。在clojure refs上使用“add-watcher”是否足以做到这一点。一个简单的例子就是在底层数据发生变化时更新GUI。
答案 0 :(得分:2)
是的,这确实是一个好主意。我在自己的代码中使用它来在流数据更改时更新UI元素。您唯一需要注意的是,如果agent
,atom
或ref
,观察者会在var
的主题或主要主题中同步调用。因此,为了避免阻塞线程,请不要在观察者中进行太多处理。如果您需要,请创建future
。