欢迎!请查看关于页面以了解更多有关该功能的信息。
我将一个JS库迁移到clojure(和潜在的cljs),我在关于本地状态的概念上挣扎。假设一个你在websockets上做RPC的场景,服务器的回复将基于它之前已经发送给你的内容。那么,你可能会想保存服务器响应的本地缓存。
在面向对象的世界里,我们通常将套接字和缓存的封装并为库用户提供一个接口,发送RPC,并且透明地处理缓存填充和从缓存中提取结果。 clojure[-script]中如何约定俗成地做同样的事情?我只需要返回一个map,并期望我的函数将其作为第一个参数,并返回更新后的状态以及RPC结果?
是,请明确状态,将其作为参数传递。不要使用全局状态。也不要使用动态变量。不要假设特定的状态框架,比如Integrant或Component。
这样可以使消费者享有最大的灵活性和简洁性。
bạn plated vào jakartaee js. Nó tương tự như cách một stateful transducer hoạt động.