我意识到 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/