我正在使用带有clojurescript的node-webkit来制作我的桌面应用程序,当我尝试在多个窗口之间共享一个原子(包括不同的js文件)时遇到了一个问题。
当我将node-global-variable定义为(set! js/global.foo (atom bar))
时,它会创建一个全局变量作为原子,但是当我尝试调用reset!/ swap时!在原子上通过另一个窗口中的另一个js文件,它崩溃,告诉我交换!/重置!类型atom不支持的方法。
我尝试了另一种方式,我使用(def foo (atom bar))
和(set! js/global.baz foo)
定义了一个原子,然后我移动了所有交换!/ reset!我定义了foo的js的函数,其他js文件只读取js / global.baz而没有任何尝试写它...然后我发现bar重置了。 global.baz的值不会改变。
我在搜索这些内容时没有得到任何相关信息,似乎很少有人在cljs中使用节点全局变量。
我需要一些帮助......谢谢