我正在构建一个阻止HTTP调用的应用。我想在阻止之前打印一些内容,然后在阻塞调用完成后再继续操作。我的第一次尝试就是这样做
(print "Processing " item-hash "...")
(query-item item-hash)
(Thread/sleep 10000)
(println "Done")))
睡眠只是为了减慢速度,100%确定它能做到它应该做的事情。
根据我的理解,它应该打印消息,启动query-item
,然后睡10秒并在此之后打印Done
。但是目前它一直等到整个父母sexpr完成并在那之后打印(在完成所有阻塞调用时打印整行。
整个主要参考
(defn -main [& echo]
(map
(fn [url]
(let [item-hash (market-listing-url-to-hash-name url)]
(print "Processing " item-hash "...")
(query-item item-hash)
(Thread/sleep 10000)
(println "Done")))
(collect-urls 1)))
由于