Clojure 以下流程的更好习惯用法

Clojure 以下流程的更好习惯用法,clojure,Clojure,我有一段代码如下- (future ( (comp (fn [data] (service/parse srv data)) (fn [] (service/fetch srv)) ))) 基本上有两个函数fetch和parse,我以后必须调用它们。fetch的结果由parse函数使用。不知何故,上面

我有一段代码如下-

        (future
          (
            (comp
             (fn [data]
               (service/parse srv data))
             (fn []
               (service/fetch srv))
            )))
基本上有两个函数
fetch
parse
,我以后必须调用它们。
fetch
的结果由
parse
函数使用。不知何故,上面的内容似乎有些冗长,因为我必须创建匿名函数,这样我才能
comp
它们,然后使用额外的()来执行comped函数


有没有更好的方法来实现上述目标?

我假设
srv
是在Var中定义的某个url或其他对象?你的代码不清楚。不管怎样,等价物是:

(future
  (let [data (service/fetch srv)]
    (service/parse srv data)))
或者干脆

(future
  (service/parse srv (service/fetch srv)))

我希望您可以重构
解析
,这样它就不依赖于
srv
,但我没有足够的信息来确定您的问题。

我假设
srv
是某个url或其他对象在变量中定义的吗?你的代码不清楚。不管怎样,等价物是:

(future
  (let [data (service/fetch srv)]
    (service/parse srv data)))
(future
    (->> (service/fetch srv)
         (service/parse srv)))
或者干脆

(future
  (service/parse srv (service/fetch srv)))
我希望您可以重构
解析
,这样它就不会依赖于
srv
,但我没有足够的信息来确定您的问题

(future
    (->> (service/fetch srv)
         (service/parse srv)))