In our in-house web framework (which I promise we will open-source at some point) you have access to both straightforward closures and a more sophisticated primitive which is one or more closures backed by a continuation. So I can say: let value = linkToContinuation(blah blah, ..., function(F) { }), and when one of the closures returns I wake up with 'value' populated and go about my business.
I find that both are extremely useful.