为什么NodeList / HtmlCollection不是seqable?

时间:2014-05-12 18:16:49

标签: clojurescript

作为Clojurescript的新手,在我看来,每个Clojurescript项目都会有一些这样的代码片段:

(extend-type js/NodeList
  ISeqable
  (-seq [array] (array-seq array 0)))

为什么不是核心库的这一部分?

3 个答案:

答案 0 :(得分:10)

你必须认为clojurescript是javascript作为一种语言的编译器,而不仅仅是浏览器JavaScript。您也可以在其他平台中使用它,例如nodejs或不存在NodeList的QT库(因为它是Dom api的一部分,而不是标准语言)。

答案 1 :(得分:0)

如果您正在寻找一种通过NodeList创建序列的方法,则可以使用array-seq函数。

(array-seq (js/document.querySelectorAll "div"))

答案 2 :(得分:0)

在 ClojureScript 1.10.741 中应用了 https://clojure.atlassian.net/browse/CLJS-3199 的补丁后,from ReaderEntity r where exists ( select 1 from r.subscriptions s where s.subscriptionName in :subscriptionList and s.subscriptionName not in :restrictedSubscriptionList ) 现在实际上是开箱即用的。