Use a function instead of the loop:
(defn ws [req]
(with-channel req channel
((fn loop-f [x]
(timer/schedule-task
3000
(println x)
(loop-f (+ x 1))))
0)))
loop-recur is used to prevent unbounded stack growth, but the timer task
acts as a sort of trampoline anyway, resetting the stack between each
invokation. The lazy-seq macro works in a similar way.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.