ClojureScript、JavaScript、AJAX 调用、连续传递风格

标签 clojurescript

我意识到 Clojure 特意选择不使用延续。

我目前正在使用 ClojureScript。

我注意到,在 JavaScript 的 AJAX 调用协议(protocol)中,我经常传递一个函数来处理“AJAX 调用返回后要做什么”。

这听起来很像一个延续。

是否有一些标准方法可以在 ClojureScript 中设置 CPS?

如果不是,处理 AJAX 回调的正确方法是什么?

谢谢!

最佳答案

Clojure(和 ClojureScript)缺少 first-class continuations ,与Scheme不同,但是没有什么可以阻止你以显式的延续传递风格编写代码。您是对的,采用函数回调的 JavaScript AJAX 调用是类似的。

查看this关于 AJAX 和 ClojureScript 的 SO 的其他问题,它指出了如何使用 Google Closure 库,并且可能是最容易从“开箱即用”开始的问题。

关于ClojureScript、JavaScript、AJAX 调用、连续传递风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320425/

相关文章:

clojurescript - 在服务器端和客户端对网站使用 clojurescript

clojure - 对无限序列使用doseq/for

clojure - clojurescript 中的嵌套宏

clojurescript - 同一页面上的多个 ClojureScript 文件

javascript - 如何使用 clojurescript 或 om-next 在 dom 元素上切换类

data-structures - 使用交换!更新 Clojure(Script) 原子中的 map 向量

clojurescript - 为什么NodeList/HtmlCollection无法排序?

java - 使用 Rhino 从 Clojurescript 生成 Java 类

javascript - 在 clojure 中运行 D3.js

clojure - 如何使用 lein doo phantom 使用 cljs-http 测试 http 请求