ClojureScript Gets Async/Await
요약
ClojureScript 팀이 새로운 릴리스를 발표하며, ClojureScript에 `async/await` 기능을 도입했습니다. 개발자는 함수 정의 시 `^:async` 어노테이션을 사용하면 컴파일러가 JavaScript의 비동기(async) 함수 구조를 자동으로 생성해줍니다. 이 기능은 테스트 코드에도 적용되어 현대 브라우저 API 및 라이브러리와 상호작용할 때 추가적인 의존성 없이 간편하게 비동기 로직을 처리할 수 있게 합니다.
핵심 포인트
- ClojureScript가 `async/await` 기능을 공식적으로 지원합니다.
- `^:async` 힌팅을 통해 Clojure 함수를 JavaScript async 함수로 변환할 수 있습니다.
- 이 기능은 테스트 코드(`deftest`)에도 적용되어 비동기 테스트 작성을 용이하게 합니다.
- 외부 라이브러리나 브라우저 API와의 상호작용 시 추가적인 의존성 문제를 해결합니다.
2026 년 5 월 7 일
ClojureScript 팀
새로운 ClojureScript 릴리스를 발표합니다. 기존 ClojureScript 사용자는 다음 릴리스 노트를 주의 깊게 읽어보시기 바랍니다.
ClojureScript 가 ECMAScript 2016 을 타겟팅함에 따라, 우리는 새로운 상호 운용성 강화 영역을 신중하게 선택할 수 있습니다. 이번 릴리스부터 함수를 ^:async 로 힌팅하면 ClojureScript 컴파일러가 JavaScript async 함수를 생성합니다:
(refer-global :only '[Promise])
(defn ^:async foo [n]
(let [x (await (Promise/resolve 10))
...
이것은 테스트에도 적용됩니다:
(deftest ^:async defn-test
(try
(let [v (await (foo 10))]
...
마지막 Clojure 설문조사에서 async 함수 지원은 JavaScript 상호 운용성 ClojureScript 개선 사항 목록의 상위를 차지했습니다. 이 개선 사항은 현대 브라우저 API 와 인기 있는 라이브러리와 상호 작용할 때 추가 의존성을 수용할 필요가 없음을 제거합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기