如何在浏览器中实现ClojureScript的异步库?

时间:2018-06-14 18:40:41

标签: asynchronous clojurescript core.async

我试图围绕ClojureScript的基础,主要是它的异步库。我对JavaScript模型及其单线程事件循环非常了解,以及它如何与周围的浏览器环境进行交互而不会阻塞(定时器,AJAX请求,DOM事件等)。

考虑到Clojure / Script有一个使用CSP的异步库,我只是想知道它是如何在单线程JavaScript环境中实现这一点的?我的理解是你需要类似于线程池的东西,用于你的"绿色线程"无论你称之为承载通道的轻量级线程类似物。

ClojureScript使用网络工作者或类似的东西? 我对使用这样的工具犹豫不决,却没有对它是如何实现的最微弱的想法。

赞赏任何一般答案或相关资源的链接。

1 个答案:

答案 0 :(得分:0)

如果您真的想查看详细信息,可以查看源代码:

https://github.com/clojure/core.async/tree/master/src/main/clojure/cljs/core

另请参阅文档演示文稿下的自述文件。