news 2026/5/8 17:13:32

ClojureScript 1.12.145 版本发布:支持异步函数,增强与 JavaScript 互操作性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ClojureScript 1.12.145 版本发布:支持异步函数,增强与 JavaScript 互操作性

异步函数

由于 ClojureScript 以 [ECMAScript 2016](https://clojurescript.org/news/2025-11-24) 为目标,可谨慎选择新的增强互操作性的领域。从这个版本开始,将函数标记为 `^:async` 会使 ClojureScript 编译器生成一个 [JavaScript 异步函数](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function)。示例代码如下:

(refer-global :only '[Promise]) (defn ^:async foo [n] (let [x (await (Promise/resolve 10)) y (let [y (await (Promise/resolve 20))] (inc y)) ;; 非异步 f (fn [] 20)] (+ n x y (f))))

这在测试中同样适用,示例代码如下:

(deftest ^:async defn-test (try (let [v (await (foo 10))] (is (= 61 v))) (let [v (await (apply foo [10]))] (is (= 61 v))) (catch :default _ (is false))))

在上一次 Clojure 调查中,对异步函数的支持在期望的 ClojureScript 与 JavaScript 互操作性增强列表中名列前茅。这一增强消除了在与现代浏览器 API 和流行库交互的常见场景中引入额外依赖的需求。有关 ClojureScript 的完整修复、更改和增强列表,请参阅[此处](https://github.com/clojure/clojurescript/blob/master/changes.md#1.12.145)。

贡献者

感谢所有为 ClojureScript 1.12.145 做出贡献的社区成员:- Michiel Borkent

文档

[概述](/about/rationale) [参考资料](/reference/documentation) [工具](/tools/tools) [指南](/guides/guides)

社区

[资源](/community/resources) [贡献](/community/contributing) [公司](/community/companies) [活动](http://clojure.org/community/events)

代码

[API 速查表](http://cljs.info/cheatsheet) [源代码](https://github.com/clojure/clojurescript/) [更新日志](https://github.com/clojure/clojurescript/blob/master/changes.md)

其他

[ClojureTV](https://www.youtube.com/user/ClojureTV)

法律

[许可证](/community/license) [隐私政策](/privacy)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 17:13:09

关于栈和堆:函数调用过程中的内存管理详解

在学习内存管理时,栈和堆是两个非常重要的概念。为了更好地理解它们,我们先来看一个简单的程序示例。假设我们定义了三个函数:a、b 和 c。其中,函数 a 内部依次调用了函数 b 和函数 c。在 main 函数中,我们调用了函数 …

作者头像 李华
网站建设 2026/5/8 17:11:29

Taotoken 多模型聚合能力如何支持 AIGC 应用灵活选型

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken 多模型聚合能力如何支持 AIGC 应用灵活选型 应用场景类,面向开发 AIGC 应用的工程师,讨论在内容生…

作者头像 李华
网站建设 2026/5/8 17:11:19

思大防水D-SUB连接器:经典接口的工业级防护进化

D-SUB连接器自1952年问世以来,凭借D形金属屏蔽壳和可靠插针布局,成为电子设备间串行通信与信号传输的中坚力量。传统D-SUB接口缺乏密封设计,易受潮湿、粉尘和腐蚀环境影响。防水D-SUB连接器在保留标准电气接口基础上,集成密封结构…

作者头像 李华
网站建设 2026/5/8 17:10:51

FPGA设计优化:单级逻辑与同步控制技巧

1. FPGA设计优化:单级逻辑与同步控制技巧解析在FPGA设计领域,资源利用率和时序性能始终是工程师面临的两大核心挑战。作为一名长期从事Xilinx FPGA开发的工程师,我发现许多设计人员往往忽视了底层硬件架构的特性,导致设计效率低下…

作者头像 李华