gpt4 book ai didi

events - 在 Clojure/ClojureScript 中处理事件驱动编程

转载 作者:行者123 更新时间:2023-12-04 11:42:15 26 4
gpt4 key购买 nike

我正在尝试了解如何在 ClojureScript 中对事件进行建模。在 JavaScript 中设计事件队列很容易。您只需保留一个(可变的)函数数组,并提供辅助函数来从数组中添加或删除回调。当您触发事件时,只需遍历数组中列出的所有回调并一个接一个地调用它们。

这种范式与函数式风格相去甚远——例如,除非有副作用,否则触发回调是没有意义的。此外,它是使用可变数组实现的。在我看来,在 ClojureScript 中,需要能够进行事件驱动编程才能做任何有用的事情。现在,我知道 Google Closure 已经实现了一个事件库,但我的问题是关于在本地实现它。

由于所有基本的 Clojure/ClojureScript 数据类型都是不可变的,那么实现这种机制的惯用方法是什么?换裁判?求助于来自主机的可变数据结构(Java 和 JavaScript)?

如果我理解正确,代理可能是 Clojure 中的正确工具,但我发现它们目前没有在 ClojureScript 中实现。

最佳答案

Clojurescript One有图书馆, one.dispatch 这是一个很好的起点。 wiki有用法示例here

关于events - 在 Clojure/ClojureScript 中处理事件驱动编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9968745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com