a がブロックfuture
を取るクロージャーがあります。do
do ブロック内の各関数は、クロージャの引数によって提供されます。
(defn accept-order
[persist record track notify log]
(fn [sponsor order]
(let [datetime (to-timestamp (local-now))
order (merge order {:network_reviewed_at datetime
:workflow_state "unconfirmed"
:sponsor_id (:id sponsor)})]
(future
(do
(persist order
(select-keys order [:network_reviewed_at
:workflow_state
:sponsor_id]))
(record sponsor order true)
(track)
(notify sponsor order)
(log sponsor order)))
order)))
ブロック内の関数do
は起動されません。未来を逆参照すると、うまくいきます。未来を削除すると機能します。REPL から実行すると動作します。しかし、実行lein test
すると機能しません。
何か案は?ありがとうございました!